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

بتاريخ:

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


مسائكم / صباحكم خيرات


اخواني عندي مشروع

ضطريت في المشروع الى عمل popup برمجيا واضفت في داخلها ديلوق واشتغل كل شي زي العسل

لكن المشكلة عندي الحين كيف اتاكد ان المستخدم اختار نعم او لا في ديلوق

بحيث انني لم استطع ربط الديالوق (dialog) مع dialogListener (باستخدام الكود) وعندما احاول استدعاء الموثد بعد تنفيذ الاوامر المطلوبة يكون هناك خطاء لان الداله تستقبل برامتر من نوع dialogEvent

هل هناك طريقه اربط الديالوق (dialog) مع dialogListener مع الموثد برمجيا او هناك طريقه استدعي الموثد برمجيا وكيف امرر لها برامتر من نوع ايفنت ديالوق

هذا هو الكود المستخدم


   RichPopup.PopupHints test = new RichPopup.PopupHints();
   RichTextEditor opText = new  RichTextEditor();
   oracle.adf.view.rich.component.rich.RichDialog dialog = new oracle.adf.view.rich.component.rich.RichDialog();

   public String cb1_action() {
       DCBindingContainer dc = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
       DCIteratorBinding iter = dc.findIteratorBinding("AllEmployeeView1Iterator");
       ViewObject vo = iter.getViewObject();  
       dialog.setId("dlg");
       dialog.setTitle("هل تريد الاستمرار");
       dialog.setType(dialog.TYPE_OK_CANCEL);
       ArrayList emails;
       output1.setValue(vo.getRowCountInRange());
       Row[] r1 = vo.getAllRowsInRange();
      for (int i = 0; i < vo.getRowCountInRange(); i++) {
           opText.setId("otindlg"); 
           String oldopText="";
          // opText.setValue("\n"+r1[i].getAttribute("Fullname")); 
          if(opText.getValue()==null)
          {oldopText="<div>فشل عملية الارسال لـ : </div>";}
          else
          {oldopText=opText.getValue().toString(); }
           opText.setDisabled(true);
           opText.setValue("<div style=\"text-align: center;width:100%;background-color:white;background-image:url('..//images//error-icon.jpg');background-repeat:no-repeat;background-attachment:fixed;background-position:left top;color:red; font-weight: bold;font-size:10px;\">"+" \n"+oldopText+"\n"+(i+1)+" - "+r1[i].getAttribute("Fullname")+" "+"</div>");
           dialog.getChildren().add(opText); 
          
           popup.getChildren().add(dialog);
           popup.show(test);
         

         
     }






والداله التي ارغب في تنفيذة بعد تطبيق الكود الذي في الاعلى و عمل استدعاء لها عند الضغط على نعم او لا في الديالوق


   public void pup(DialogEvent dialogEvent){
   if (dialogEvent.getOutcome().equals(DialogEvent.Outcome.yes))
            {System.out.println("you prese ok");}
            else if (dialogEvent.getOutcome().equals(DialogEvent.Outcome.no))
                     {System.out.println("you prese cancel");}
         else System.out.println("iiiiiiiiiiiiiiiiiiiiiiiiiiiiii");}

بتاريخ:

الـ dialog يحتوي على الخاصية dialogListener التي يمكن من خلالها ربط الدالة pup مع الـ dialog

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

شكرا لك اخووي


انا اعلم بان هناك خاصيه


لكن كيف اربطها عن طريق الكود

بتاريخ:

استخدم الدالة setDialogListener

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

اشكرك علي تعاونك اخي

ولكن ماهو البراميتر الذي يجب ان امرره الي هذي الداله لكي تعمل بشكل صحيح

عندما امرر لها اسم الموثد يكون هناك خطاء في الكود

اشكر لك تعاونك واتمني افادتي بنوع البراميتر

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

بتاريخ:

اكتب الكود التالي
Class[] argtypes = new Class[1];
argtypes[0] = DialogEvent.class;
FacesContext facesCtx = FacesContext.getCurrentInstance();
Application app = facesCtx.getApplication();
ExpressionFactory elFactory = app.getExpressionFactory();
ELContext elContext = facesCtx.getELContext();

MethodExpression me = elFactory.createMethodExpression(elContext, "#{beanName.methodName}", null, argtypes);
dialog.setDialogListener(me);
مع تغيير النص باللون الأحمر ليمثل المطلوب

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

اشكرك مهندس مصطفى ماجد

نعم هذا هو الحل الان يعمل الكود بشكل صحيح

اشكرك من اعماق قلبي واتمنى لك التوفيق

واسئل الله ان لا يحرمك اجر مساعدة الاخرين

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

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

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

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

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

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.