بتاريخ: 2 مارس 20188 سنة comment_294097 السلام عليكم ورحمة الله وبركاته اريد توضيح هذا الكود 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; } تقديم بلاغ
بتاريخ: 2 مارس 20188 سنة كاتب الموضوع comment_294101 هذه الطريقة 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 وهذا سبب سؤالى عنها كم اريد معرفىة فكرتها كيف تعمل تقديم بلاغ
بتاريخ: 3 مارس 20188 سنة كاتب الموضوع comment_294109 ولما بنفذه على هذا النحو هذه الرسالة (تم الحفظ) لا تظهر refresh_action(); FacesMessage message = new FacesMessage("تم الحفظ"); FacesContext.getCurrentInstance().addMessage(null, message); تقديم بلاغ
بتاريخ: 3 مارس 20188 سنة comment_294128 اولا هذه الجزئيه 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; } تم تعديل 3 مارس 20188 سنة بواسطة Belal Abdalhuk تقديم بلاغ
بتاريخ: 3 مارس 20188 سنة comment_294132 ولما بنفذه على هذا النحو هذه الرسالة (تم الحفظ) لا تظهر refresh_action(); FacesMessage message = new FacesMessage("تم الحفظ"); FacesContext.getCurrentInstance().addMessage(null, message); لأن غعادة تحميل الصفحة تقوم بإنشاء الصفحة من جديد لا تحتاجها ويكفي عمل partialTriggers تقديم بلاغ
بتاريخ: 4 مارس 20188 سنة كاتب الموضوع comment_294141 اعمل Partial Triggers للرسالة ؟ وكيف؟ ام تقصد حضرتك عمل refresh للصفحة غير مفيدة ؟ تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.