الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Adf Valuechangedlistner

Featured Replies

بتاريخ:

انا عندي LOV محتاج اضيف لها event ان لما اليوزر يختار منها عنصر معين يعبي تيكست ايتم او لابل بقيمة الي اليوزر اختاره حاولت استخدم ValueChangedListner بس مش عارف اضيفها لل LOV ازاي
عملت AttributeChangListner بس مش بتشتغل ولا بتروح علي الميثود الي عملتها يايت لو فيه حد استخدم ال valuechangedlistner يقولي ازاي اقدر استخدمها .

بتاريخ:

عندك اكتر من حل

الحل الاول:ممكن متحتاجش تكتب اى اكواد خالص اذا كنت شغال على Jdeveloper 11g والحل ببساطة ان Lov اللى عندك تعمله على هيئة input text with list of values وبعدين تعمل اى outputtext تظهر فيها قيمة الLov بحيث ان القيمة الخاصة بالoutputtext تعمل لها binding على قيمة الLov باستخدام(Expression Language)ولكن لازم عشان القيمة تتحدث تبعا لاختيارات المستخدم انك تعمل الAutosubmit بtrue للLov وتعمل partial trigger للText على الLov نفسه




الحل التانى (ده على ال10g او 11g)

انك تستخدم ValueChangeListener وتختار اى نوع من انواع الselect one Choice, Radio buttons,etc) Lov) ) لكن حيكون فيها بعض الTricks شويه نظرا لان الselect one choice بيدينا الIndex وليس القيمة الخاصة بالLOV وحديك الحل فى مثال معين

مثال

مثلا عاوزين فى الform الخاصة بال Employees واللى فيها Select one choice بييظهربها DepartmentName الخاص بالموظف ان عندما المستخدم يعدل فى اسم القسم (DepartmentName) حيظهر له OutputText يقول له انت اختارت القسم كذا مثلا You Have selected Operations Department يبقى حنعمل الخطوات دى

1-حنعمل الفورم والselectonechoice اللى فيها اسم القسم وكمان Outputtext ونمسح القيمة المبدئيه للOutputtext
2.نعمل الميثود الخاصة ب ValueChangeListener وهى كالاتى

private String SelectionValue;
public void setSelectionValue(String selectionValue) {
	this.SelectionValue = selectionValue;
}

public String getSelectionValue() {
	return SelectionValue;
}

public void getNewValue_valueChangeListener(ValueChangeEvent valueChangeEvent) {
	FacesContext fctx = FacesContext.getCurrentInstance();
	ValueBinding vb = fctx.getApplication().createValueBinding("#{bindings}");
	DCBindingContainer bindings = (DCBindingContainer)vb.getValue(fctx);
	
	DCIteratorBinding empIter = (DCIteratorBinding)bindings.get("DepartmentsView1Iterator");
	SelectionValue=null;
	try {
		Row row = empIter.getRowAtRangeIndex((Integer)this.getSelectOneChoice1().getValue() );
		SelectionValue = (row.getAttribute("DepartmentName")).toString();
		getOutputText1().setValue("You Have selected "+" "+SelectionValue+"   "+"Department"); 
	  getOutputText1().setRendered(true);
		System.out.println(SelectionValue);
		
		
	} catch (Exception e) {
		
	}
}



3 فى ال property inspector نربط الmethod دى بال ValueChangeListenerاللى على selectOneChoice
4 نجعل الautosubmit الخاص ب selectOneChoice بtrue
5 نعمل الpartail trigger اللى على outputtext هو id الخاص ب selectOneChoice
واعمل run للصفحة حتلاقى اى اختيار او تغيير فى قيمة الselectonechoice حيظهر فى الoutputtext

بالتوفيق ;)

بتاريخ:
  • كاتب الموضوع

شكرا علي الرد ولو انه جه متاخر شوية بس احنا مقدرين المشاغل و الف شكر ع المتابعه
فيه حل تالت انا استخدمته وهو قريب من الحل الاول وهو اني اضفت Attribute للا Entity الي محتاج اعمل ليها LOV ولتكن مثلا الموظفين ضفت لها اسم القسم من انتيتي الخاص بالاقسام وعملت ال LOV وضيفت شرط الربط اسم القسم و رقمه ,واخدت اسم القسم من الداتا كنترول وضيفته ع الفورم ك Outputtext وبس.

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.