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

بتاريخ:

عندى متغير مربوط message  مربوط بال java bean  للصفحة

 

فى هذا الكود بتشتغل وبتظهر فى الصفحة

 

    public String after_save_action() {

        System.out.println("hhhhhhhhhhhhhhhxxxxxxx_userid  ");
        DCBindingContainer dcbc =  (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
        Row row =dcbc.findIteratorBinding("AddProdHView2Iterator").getCurrentRow();
        
        if (row!=null){                                
           
                }   
        boolean result_check=Check_values();
        System.out.println("result_check "+result_check);
        if (result_check==true){
        BindingContainer bindings = getBindings();
        OperationBinding operationBinding = bindings.getOperationBinding("Commit");
        Object result = operationBinding.execute();
        if (!operationBinding.getErrors().isEmpty()) {
            message="لم يتم الحفظ";
            return null;
        }
        message="تم الحفظ";
        return null;
    }
     else   
        message="لم يتم الحفظ";
        return null;
    }
 
 
ولكن فى هذا الكود لا تظهر
 
    public String after_delete_action() {
        DCBindingContainer dcbc1 =  (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
        Row row1 =dcbc1.findIteratorBinding("ProdAddView4Iterator").getCurrentRow();
        System.out.println("xxxxx_addid1 ");
        if (row1==null){      
            System.out.println("xxxxx_addid2 ");
            DCBindingContainer dcbc =  (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
            Row row =dcbc.findIteratorBinding("AddProdHView2Iterator").getCurrentRow();
            
            if (row!=null ){
                     int iii=((Number)row.getAttribute("DelFlag")).intValue();
                     if (iii==0){
                         
                        boolean result_check=Check_values();
                        System.out.println("result_check "+result_check);
      
            if (result_check==true){
                row.setAttribute("DelFlag",1);                                                   
            BindingContainer bindings = getBindings();
            OperationBinding operationBinding = bindings.getOperationBinding("Commit");
            Object result = operationBinding.execute();
            if (!operationBinding.getErrors().isEmpty()) {
                   
                 return null;
            }
                message="تم الحذف"; 
                return null;
            }
        
        }
            else{
                message="لم يتم الحذف سجل سبق حذفه"  ;
                System.out.println("xxxxxxx_message  "+message);                   
                return null;
            }                
            }                          
                     else {
                         message="لم يتم الحذف لعدم وجود بيانات"  ;
                         System.out.println("xxxxxxx_message  "+message);                   
                         return null;
                     }
        
        }
        else    {
            message="لا يمكن الحذف لوجود اصناف";         
            System.out.println("xxxxxxx_message  "+message);            
            return null;
        }
     return null;     
    }
 
حيث يتم تشغيل هذا الكود عن طريق
 
    public String d2_dialogListener(DialogEvent dialogEvent) {
        if (dialogEvent.getOutcome().equals(DialogEvent.Outcome.yes)) {            
            after_delete_action();
        }
     return null;
        
    }
 
 
بتاريخ:

هل تم استدعاء dialogListener من popup؟

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

شكرا يا باشمهندس

 

بالفعل تم  استدعاء      dialogListener من popup؟

 

    public String d2_dialogListener(DialogEvent dialogEvent) {
        if (dialogEvent.getOutcome().equals(DialogEvent.Outcome.yes)) {            
            after_delete_action();
        }
     return null;
        
    }
 

 

 

    public String d2_dialogListener(DialogEvent dialogEvent) {
        if (dialogEvent.getOutcome().equals(DialogEvent.Outcome.yes)) {            
            after_delete_action();
        }
     return null;
        
    }
 
بتاريخ:

جرب طباعة نص في الكود لتعرف أين توقف التنفيذ بالضبط

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

تم وقف تنفيذ الكود فى بعد  استدعاء

 dialogListener من popup؟

 

                message5="لم يتم الحذف سجل سبق حذفه"  ;
                System.out.println("xxxxxxx_message  "+message5);                   

 

                return null;

 

ويظهر فى ال log

xxxxxxx_message  لم يتم الحذف سجل سبق حذفه

,وانا قمت بتغيير المتغير من message     الى    message5   ,ولكن لم تحل المشكلة

لان message  تظهر رسائل اتوماتيك بعد كود استدعاء ال popup

بتاريخ:

حسناً هذه رسالة من النظام لديك. تحتاج البحث في شرط ظهورها

ما الشرط لكي تعرف أن السجل سبق حذفه؟

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

هذا هو الشرط

 

 

                     int iii=((Number)row.getAttribute("DelFlag")).intValue();
                     if (iii==0){
     وبيتحقق بدليل  
 
                message5="لم يتم الحذف سجل سبق حذفه"  ;
                System.out.println("xxxxxxx_message  "+message5);                   

 

                return null;

 

ويظهر فى ال log

xxxxxxx_message  لم يتم الحذف سجل سبق حذفه   
ولكن لا يظهر فى الصفخة على ال output text   ولا اعرف سبب هذه المشكلة              
 
                     int iii=((Number)row.getAttribute("DelFlag")).intValue();
                     if (iii==0){
                         
                     int iii=((Number)row.getAttribute("DelFlag")).intValue();
                     if (iii==0){
                                              int iii=((Number)row.getAttribute("DelFlag")).intValue();
                     if (iii==0){
                         
بتاريخ:

حسناً تحقق من قيمة المتغير iii وتأكد أنه يحتوي القيمة المتوقعة فعلاً

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

قيمة ال iii

الكود

                     int iii=((Number)row.getAttribute("DelFlag")).intValue();
                     System.out.println("Before Ifxxxx_iiiii "+iii);
                     if (iii==0){
                System.out.println("After Ifxxxx_iiiii "+iii);
 

 

 

else

                System.out.println("else  Ifxxxx_iiiii "+iii);         
                message5="لم يتم الحذف سجل سبق حذفه"  ;
                System.out.println("xxxxxxx_message  "+message5);                   
                return null;
 
ال log
Before Ifxxxx_iiiii 1
else  Ifxxxx_iiiii 1
xxxxxxx_message  لم يتم الحذف سجل سبق حذفه
 

ولكن لا يظهر على الشاشة

بتاريخ:

System.out لا يقوم بإظهار الرسالة على الشاشة

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

المتغير المربوط بال output text اللى على الصفحة   هو  message5="لم يتم الحذف سجل سبق حذفه"  ;

 

انا وضعت جملة system out  للتاكد ان الكود شغال وبيصل لمكان المتغير message5  المسئول عن ظهور الرسالة على الصفحة 

وبتشتغل فى كل مكان ما عدا   هنا فقط  بعد استدعاء ال popup

بتاريخ:

جرب أن تظهره كرسالة عن طريق FacesMessage لتتأكد أولاً من صحة القيم

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

 قمت باستخدام ال faces message

فى نفس الكود وظهرت رسالة ال facesMessage  والرسالة الاخرى لم تنفذ

 

                System.out.println("else  Ifxxxx_iiiii "+iii);         
                message5="لم يتم الحذف سجل سبق حذفه"  ;
                System.out.println("xxxxxxx_message  "+message5);                   
 
                FacesMessage message2 = new FacesMessage("لم يتم الحذف سجل سبق حذفه");
                FacesContext.getCurrentInstance().addMessage(null, message2);                        
بتاريخ:

غالباً مشكلة في partialTriggers

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

ال partialTriggers    بالنسبة لزرار ال delete فاضى

af:showpopupBehavior          popupId  ::p1  يشير الى ال id  لل popup

af:popup   Id   p1

هل يوجد لها تعديل فى حصائصها ؟

af:dialog   dialoglistner       type yesno

affirmativeText   نعم

cnacleText  لا

NotText لا

 

 

    public String d2_dialogListener(DialogEvent dialogEvent) {

        if (dialogEvent.getOutcome().equals(DialogEvent.Outcome.yes)) {             
            System.out.println("xxxxxxx_dialog"+message);
            after_delete_action();
          
          
        }
        System.out.println("Last_xxxxxxx_message  "+message5);  
     return null;
        
    }

 

 

 d2_dialogListener()

partialTriggers    فاضى

attributechangeListner    d2_dialogListener

بتاريخ:

لا تهم هذه النقاط

يجب وضع partialTrigger للـ outputText ليشير إلى الـ popup والـ dialog

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

تقصد حضرتك ال output Text للمتغير الخاص بال message5  المطلوب اظهار الرسالة عليه

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

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

بتاريخ:

تقصد حضرتك ال output Text للمتغير الخاص بال message5  المطلوب اظهار الرسالة عليه

نعم

بتاريخ:

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

وإياكم إن شاء الله

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

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

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

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

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

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.