الانتقال إلى المحتوى
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.

Filter Data Depends On Parameter

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته
لدي استفسار بسيط في ADF
أرجو عمل مثال بسيط به صفحتان الأولى يتم من خلالها اختيار سجل معين مثل سجل الأقسام ونفتح الصفحة الثانية يتم فيها عمل فلتر أو تصفية للبيانات وفقا للقسم الذي تم اختياره في الصفحة الأول
يمكن تطبيق ذلك على البيانات الموجودة عند SCOTT والجداول DEPT و EMP
وشكرا لكم جميعا
والسلام عليكم ورحمة الله وبركاته

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

السلام عليكم ورحمة الله وبركاته
أنا عملت حل بسيط ولكن أرغب في تغييره وهو عمل صفحة بها
execute with parameter form
وتم التنفيذ صحيح ولكني أرغب في أخذ القيمة من جدول إلى جدول مثال الشاشة الأولى بها أرقم وأسماء الأقسام أرغب عند فتح الصفحة التالية صفحة الموظفين يتم تصفية البيانات وفقا لرقم القسم من الصفحة الأولى .

  • بعد 1 شهر...
بتاريخ:

عندك اكتر من طريقه


الطريقه الاسهل

انك لو عملت اتنين Entity لل Departments وال Employees على - HR Scehma- فبيتكون لوحده الاسوسيشن اللى بينهم وحتلاقى اسمه EmpDeptFkAssoc وكمان الفيو لينك اللى بيربط ما بينهم وبكده فى الصفحه الاولى اللى حتعرض فيها الاقسام اعمل دراج ودروب للفيو اوبجكت الخاص بالDepartments اللى اسمه DepartmentsView1 وفى الصفحه اللى عاوز تعرض فيها موظفين القسم ده اعمل دراج للفيو اوبجكت اللى اسمه EmployeesView3 اللى تحت DepartmentsView1 كما فى الصوره



masterdetail.jpg

وعشان انت سحبته من الفيو اوبجكت الاولانى وده الكولكشن بتاعه فحتلاقى فى الصفحه التانيه حيعرض موظفين القسم اللى حتختاره فقط ولاحظ ان هنا مبنستخدمش اى ExecutewithParam ولا اى حاجه لاننا بنتعامل مع نفس الاتريتور للفيو اوبجكت



الحل التانى : طريقه اصعب بس افضل لانها مش مرتبطه بالفيو اوبجكت الاصلى

طبعا انت عندك اتنين فيو اوبجكت للاتنين انتيتى (DepartmentsView و EmployeesView)حتيجى فى الفيو اوبجكت اللى اسمه EmployeesView وحتعمل Bind variable من نوع Number وجمله السيكول حتبقى كده مثلا




SELECT * 
FROM EMPLOYEES Employees where Employees.Department_Id=:DeptId



وبعدين فى الصفحه الاولى الخاصه بالاقسام (حنفترض ان عندك ADF Form بها ارقام الاقسام واسمائهم ) وعلى البوتون اللى عاوزه يروح لصفحه الموظفين للقسم اللى حتختاره رايت كليك عليه و Insert inside CommandButton > ADF Faces > SetActionListener وفى ال From وال To بتوع الAction Listener اكتب كده

From:#{bindings.DepartmentId.inputValue}
To: #{pageFlowScope.DepartmentId}



وفى الصفحه اللى حتضع فيها جدول الموظفين حتعمل دراج ودروب للفيو الاوبجكت التانى اللى اسمه EmployeesView1 اللى فيه البيند فاريابل وحتنزله كتابل وبعدين حتعمل حاجه اسمها an action binding وده عشان تبعت الباراميتر اللى هو رقم القسم لصفحه الموظفين عشان يجيب لك الموظفين الخاصين بيه وطريقه ال action binding كالتالى



حتروح على ال page Definition لصفحه الموظفين وعند ال Bindings تختار
Insert inside bindings > action وحتختار الفيو اوبجكت بتاعك اللى فيه البيند فاريابل ومن ال an Action drop-down حتختار ExecuteWithParams وخللى ال VALUE بتاعته كالاتى


#{pageFlowScope.DepartmentId} 



كما فى الصوره

526859308.jpg

طبعا دى نفس الفاليو اللى حنبعتها فى ال Set Action Listener وحتحمل قيمه رقم القسم

وبعدين حتروح على ال Executables فى البيج ديفينيشن برضه و right-click على ال Execuables وتختار Insert inside executables > invokeAction وخللى اسم الانفوك اكشن setEmplyeesToDept وعند ال Binds اختار ExecuteWithParams action اللى كريتناه حالا وخللى من ال Property Inspector ال Refresh بتاعه ifNeeded بحيث حتبقى دى صوره الStructure الخاصه بالبيج ديفينيشن لصفحه الموظفين




937023398.jpg

اعمل رن لصفحه الاقسام واضغط على البوتون اللى حيوديك لصفحه الموظفين (طبعا بعد عمل النافيجيشن كيس ما بين الصفحات) حتجد ان الاكشن ليسنر اخد القيمه وبعت البارامتر اللى هو رقم القسم لصفحه الموظفين وبالتالى حيجيب لك جميع الموظفين فى القسم اللى اختارته فقط

بتاريخ:

جرب الطريقتبن مع ملاحظه ان الطريقتين مجرباهم على الجى ديف 11 وليس 10 :rolleyes:

  • بعد 1 سنة...
بتاريخ:

الاستاذة hala
شكرا على جهودك المفيدة وحضورك المتميز
قمت بتطبيق ما قمت بشرحه وظهر لي الخطا التالي

مرفق المشروع
وشكرا

Application8.rar

post-46231-0-13432800-1332355618_thumb.png

بتاريخ:

هذا لأنك لم تريط الصفحة مع الـ View vCriterai التي انشأتها حيث يجب سحبها في الصفحة وربطها مع الجدول الموجود فيها حتى يتم تطبيق الاستعلام بشكل صحيح

بتاريخ:

شوف الموضوع ده ليه سنتين والامور تطورت وبقيت اسهل دلوقتى ومفيش داعى نستخدم invoke action من الاساس لاننا بنضع method call فى ال controller عموما من الافضل انك تفتح موضوع جديد تقول فيه نسجة الجى ديف اللى عندك واللى عاوز تعمله بالظبط عشان اقولك افضل طريقه لعمله ومتبعتش ابليكيشن كامل

بتاريخ:

اوكيه يا اخ visiter رغم انى مبحبش نظام انك تجيب البرنامج كامل واحنا نحمله ونشوف الاخطاء اللى فيه لانك لازم اللى تصحح بنفسك الا انى صححت لك اخطاءك اللى فى المثال ورفعته وشغال بلا مشاكل بس عملت له Migrate الى الجى ديف r2 عشان ده اللى شغاله عليه وبالتالى عشان تشغله دلوقتى لازم تشغله على r2 برضه

اما بالنسبة للاخطاء اللى عندك فهى كثيره منها الخطا اللى بتسال عنه وسببه انك كاتب قيمه ال parameter فى ال action listener خطا ده علاوه على ان اسم ال bind variable اللى كاتبه فى ال where clause مختلف على اسم ال bind variable فى ال View object واخطاء تانية عديده

ملحوظه:مفيش داعى انك تعمل backing bean لكل صفحة مش محتاجها لانها بتزود الحمل وبتعمل set و get لكل component بلا فائده

Application8.rar

بتاريخ:

شكرا للاخت هالة والاخ مصطفى
وجزاكم الله على المعلومات القيمة

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

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

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

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

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

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.