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

Refres_after_commit

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته

اريد توضيح هذا الكود

 

    public void refresh_action() {
         FacesContext fc = FacesContext.getCurrentInstance(); 
         String refreshpage = fc.getViewRoot().getViewId(); 
          ViewHandler ViewH = fc.getApplication().getViewHandler(); 
          UIViewRoot UIV = ViewH.createView(fc, refreshpage); 
         UIV.setViewId(refreshpage); fc.setViewRoot(UIV);
     }
 
 
ولما بنفذه على هذا النحو  هذه الرسالة (تم الحفظ) لا تظهر
 
             refresh_action();
        FacesMessage message = new FacesMessage("تم الحفظ");
        FacesContext.getCurrentInstance().addMessage(null, message);     
 
 
وهل هى الافضل  ام     execute    على هذا النحو
 
    public String refresh_det_action() {
        BindingContainer bindings = getBindings();
        OperationBinding operationBinding = bindings.getOperationBinding("Execute1");
        Object result = operationBinding.execute();
        if (!operationBinding.getErrors().isEmpty()) {
            return null;
        }
        return null;
    }
 

 

بتاريخ:

قم باستخدام كلاسات ADFUtils and JSFUtils افضل

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

هذه الطريقة    

 

 public void refresh_action() {
         FacesContext fc = FacesContext.getCurrentInstance(); 
         String refreshpage = fc.getViewRoot().getViewId(); 
          ViewHandler ViewH = fc.getApplication().getViewHandler(); 
          UIViewRoot UIV = ViewH.createView(fc, refreshpage); 
         UIV.setViewId(refreshpage); fc.setViewRoot(UIV);
     }
 
 
فيها ميزة انه بيحافظ على ال سجل الحالى   فى شاشة Master_Details
اما execute   بيظهر اول سجل فى ال Masrter
 
المشكلة فى السطر الخاص بالرسائل لا تفعل اى الرسالة لا تظهر   بعد عملية الحفظ بالرغم من انها كتبت بعد سطر ال refresh
 
 وهذا سبب سؤالى عنها   كم اريد معرفىة فكرتها كيف تعمل
بتاريخ:

هذا الكود يقوم بإعادة إنشاء الصفحة من جديد

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

 

ولما بنفذه على هذا النحو  هذه الرسالة (تم الحفظ) لا تظهر

 

             refresh_action();

        FacesMessage message = new FacesMessage("تم الحفظ");

        FacesContext.getCurrentInstance().addMessage(null, message);     

 

بتاريخ:

اولا هذه الجزئيه

public void refresh_action() {

         FacesContext fc = FacesContext.getCurrentInstance(); 
         String refreshpage = fc.getViewRoot().getViewId(); 
          ViewHandler ViewH = fc.getApplication().getViewHandler(); 
          UIViewRoot UIV = ViewH.createView(fc, refreshpage); 
         UIV.setViewId(refreshpage); fc.setViewRoot(UIV);
     }
تقوم بعمل refresh للصفحه وبناء مكوناتها مره اخري
ثانيا هذه الجزئيه
    public String refresh_det_action() {
        BindingContainer bindings = getBindings();
        OperationBinding operationBinding = bindings.getOperationBinding("Execute1");
        Object result = operationBinding.execute();
        if (!operationBinding.getErrors().isEmpty()) {
            return null;
        }
        return null;
    }
تستخدم لعمل refresh ل data collection اللي حضرتك مناديها منها
بالتالي عندما تستخدم هذا الكود
refresh_action();
        FacesMessage message = new FacesMessage("تم الحفظ");
        FacesContext.getCurrentInstance().addMessage(null, message)
فهو سوف يقوم بعمل تحديث للصفحه وبناء مكوناتها كانها تفتح للمره الاول دون حدوث اي اكشن عليها بالتالي لن ينفذ الامر

لو حضرتك محتاج تظهر الرساله بعد عمليه ال commit فحضرتك تقدر تحط الكود ده FacesMessage message = new FacesMessage("تم الحفظ");
        FacesContext.getCurrentInstance().addMessage(null, message)
بعد جزء التنفيذ في الميثود كما المثال التالي  :
public String commit_action() {
        BindingContainer bindings = getBindings();
        OperationBinding operationBinding = bindings.getOperationBinding("Commit");
         operationBinding.execute();
FacesMessage message = new FacesMessage("تم الحفظ");
         FacesContext.getCurrentInstance().addMessage(null, message)
            return null;

}

تم تعديل بواسطة Belal Abdalhuk

بتاريخ:

 

ولما بنفذه على هذا النحو  هذه الرسالة (تم الحفظ) لا تظهر
 
             refresh_action();
        FacesMessage message = new FacesMessage("تم الحفظ");
        FacesContext.getCurrentInstance().addMessage(null, message);     

 

لأن غعادة تحميل الصفحة تقوم بإنشاء الصفحة من جديد

لا تحتاجها ويكفي عمل partialTriggers

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

اعمل Partial Triggers   للرسالة  ؟  وكيف؟

 

ام تقصد حضرتك عمل refresh  للصفحة غير مفيدة ؟

بتاريخ:

أقصد بدلاً من عمل refresh

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

الف شكر يا باشمهندس على هذا التوضيح

بتاريخ:

العفو

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

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

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

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

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

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.