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

عاوز اعمل ماستر ديتيل بس فى نفس الجدول

Featured Replies

بتاريخ:

كنت عاوز اعمل ماستر ديتيل بس فى نفس الجدول
وبالفعل حطيت جدول الماستر على الصفحه وحطيت الديتيل فى ال detailstamp
وكتبت الكود التالى عشان لما اضغط على رو يظهرلى الديتيل الخاصه بيه
المشكله ان الكود ده بيسمحلى افتح رو واحده بس فى نفس الوقت وأنا عاوز اقتحهم كلهم وانا مش عارف اعمل الكود ده
انا حطيت صوره الإيضاح
الكود
public void rowDisclosureListener (RowDisclosureEvent rowDisclosureEvent) { RichTable table = (RichTable) rowDisclosureEvent.getSource(); RowKeySet discloseRowKeySet = table.getDisclosedRowKeys(); RowKeySet lastAddedRowKeySet = rowDisclosureEvent.getAddedSet(); Iterator lastAddedRowKeySetIter = lastAddedRowKeySet.iterator(); if (lastAddedRowKeySetIter.hasNext()) { discloseRowKeySet.clear(); Object lastRowKey = lastAddedRowKeySetIter.next(); discloseRowKeySet.add(lastRowKey); makeDisclosedRowCurrent(table, lastAddedRowKeySet); AdfFacesContext adfFacesContext = null; adfFacesContext = AdfFacesContext.getCurrentInstance(); adfFacesContext.addPartialTarget(table.getParent()); } }

private void makeDisclosedRowCurrent(RichTable table, RowKeySet keySet) { table.setSelectedRowKeys(keySet); CollectionModel tableModel = (CollectionModel) table.getValue(); JUCtrlHierBinding tableHierBinding = null; tableHierBinding = (JUCtrlHierBinding) (tableModel).getWrappedData(); DCIteratorBinding dCIteratorBindin = null; dCIteratorBindin = tableHierBinding.getDCIteratorBinding(); Iterator keySetIter = keySet.iterator(); List firstKey = (List) keySetIter.next(); oracle.jbo.Key key = (oracle.jbo.Key) firstKey.get(0); dCIteratorBindin.setCurrentRowWithKey(key.toStringFormat(true)); }

post-178577-0-44220700-1560234060_thumb.png

بتاريخ:

أرى انه لا يوجد أى فائدة أو مبرر لعمل ماستر وديتيلز فى جدول واحد
الصح عمل الماستر فى جدول والديتيلز فى جدول اخر والربط بينهم عن طريق Key وستجد العمل سهل جدا وسلس جدا 
حتى فى التقارير ستكون سهلة ولا يوجد فيها اى شكلة 

بتاريخ:

كنت عاوز اعمل ماستر ديتيل بس فى نفس الجدول

وبالفعل حطيت جدول الماستر على الصفحه وحطيت الديتيل فى ال detailstamp

وكتبت الكود التالى عشان لما اضغط على رو يظهرلى الديتيل الخاصه بيه

المشكله ان الكود ده بيسمحلى افتح رو واحده بس فى نفس الوقت وأنا عاوز اقتحهم كلهم وانا مش عارف اعمل الكود ده

انا حطيت صوره الإيضاح

الكود

public void rowDisclosureListener (RowDisclosureEvent rowDisclosureEvent) { RichTable table = (RichTable) rowDisclosureEvent.getSource(); RowKeySet discloseRowKeySet = table.getDisclosedRowKeys(); RowKeySet lastAddedRowKeySet = rowDisclosureEvent.getAddedSet(); Iterator lastAddedRowKeySetIter = lastAddedRowKeySet.iterator(); if (lastAddedRowKeySetIter.hasNext()) { discloseRowKeySet.clear(); Object lastRowKey = lastAddedRowKeySetIter.next(); discloseRowKeySet.add(lastRowKey); makeDisclosedRowCurrent(table, lastAddedRowKeySet); AdfFacesContext adfFacesContext = null; adfFacesContext = AdfFacesContext.getCurrentInstance(); adfFacesContext.addPartialTarget(table.getParent()); } }

 

private void makeDisclosedRowCurrent(RichTable table, RowKeySet keySet) { table.setSelectedRowKeys(keySet); CollectionModel tableModel = (CollectionModel) table.getValue(); JUCtrlHierBinding tableHierBinding = null; tableHierBinding = (JUCtrlHierBinding) (tableModel).getWrappedData(); DCIteratorBinding dCIteratorBindin = null; dCIteratorBindin = tableHierBinding.getDCIteratorBinding(); Iterator keySetIter = keySet.iterator(); List firstKey = (List) keySetIter.next(); oracle.jbo.Key key = (oracle.jbo.Key) firstKey.get(0); dCIteratorBindin.setCurrentRowWithKey(key.toStringFormat(true)); }

 

لعل هذا المقال يفيدك بخطوات تفصيلية

https://tompeez.wordpress.com/2018/08/23/adf-treetable-advanced-sample/

 

دمت بخير وعافية

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

انا بعمل كشف حساب مفصل لعميل عباره عن بيانات جدول الحسابات "الماستر" وبيانات جدول تفاصيل اصناف الفاتوره"الديتيل"
عشان كدا لازم اخليهم متداخلين فى نفس الجدول مينفعش اقسمهم على جدولين حتى الtree table مش هتكون عمليه زى ماانت عاوز
الفكره أن الكود اللى انا كاتبه انا مش فاهمه وعشان كدا مش عارف اعدل فيه هو بيسمحلى افتح رو واحد ولما افتح رو الباقى يتقفل حتى لما شيلت السطر بتاع
discloseRowKeySet.clear();
لقيته بيغير كل ديتيل الروز كلها لآخر قيمه رو ضغط عليها
انا عاوز اعدل الكود ده لو حد فهمه

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

وجزاكم الله كل خير انكوا رديتوا عليه

بتاريخ:

اتبع الخطوات المذكورة في الرابط اللي زودتك به
وفقك الله

بتاريخ:

السلام عليكم 

اخى الفاضل 

ليس معنى فصل الماستر والديتيلز فى جدولين أننا فصلنا البيانات او اننا من الصعوببة ان نصل الى ربط بينهم فى التقارير 

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

وهذا عن مئات التجارب قمت بها انا بنفسى ولو تحب ارسل لك الطريقة 

 

زشكرا

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

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

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

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

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

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.