بتاريخ: 20 يوليو 201114 سنة comment_214229 السلام عليكم ورحمة الله وبركاته مسائكم / صباحكم خيرات اخواني عندي مشروع ضطريت في المشروع الى عمل 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");} تقديم بلاغ
بتاريخ: 20 يوليو 201114 سنة comment_214253 الـ dialog يحتوي على الخاصية dialogListener التي يمكن من خلالها ربط الدالة pup مع الـ dialog تقديم بلاغ
بتاريخ: 20 يوليو 201114 سنة كاتب الموضوع comment_214256 شكرا لك اخوويانا اعلم بان هناك خاصيه لكن كيف اربطها عن طريق الكود تقديم بلاغ
بتاريخ: 21 يوليو 201114 سنة كاتب الموضوع comment_214267 اشكرك علي تعاونك اخيولكن ماهو البراميتر الذي يجب ان امرره الي هذي الداله لكي تعمل بشكل صحيحعندما امرر لها اسم الموثد يكون هناك خطاء في الكود اشكر لك تعاونك واتمني افادتي بنوع البراميتر تم تعديل 21 يوليو 201114 سنة بواسطة lak3yoni تقديم بلاغ
بتاريخ: 21 يوليو 201114 سنة comment_214269 اكتب الكود التالي 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);مع تغيير النص باللون الأحمر ليمثل المطلوب تقديم بلاغ
بتاريخ: 26 يوليو 201114 سنة كاتب الموضوع comment_214325 اشكرك مهندس مصطفى ماجد نعم هذا هو الحل الان يعمل الكود بشكل صحيح اشكرك من اعماق قلبي واتمنى لك التوفيق واسئل الله ان لا يحرمك اجر مساعدة الاخرين تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.