كيفية التعرف عل حالة السجل Record Status
السلام عليكم
كان موجود فى الفورم system variable اسمه :system.record_status
و كان ممكن تستخدمة للتعرف على حالة السجل new – modified
و اكيد التعرف على حالة السجل هيفيدك كتير
فى ال adf كمان ممكن تعمل حاجة ذى دى لكن مش بالبساطة الموجودة فى الفورمز و ذلك لان الدنيا فى ال adf مفصولة عن بعضها مش كلها فى layer واحد ذى الفورم
فى المثال التالي هنعرف ازاى نعمل method ترجعلك حالة السجل و ازاى نستخدمها فى الصفحة
1- In the model project , go to the view object and click on java tab and generate the following java classes
· View object class “ViewImpl”
· View Row class “View row impl”
كما بالشكل بالشكل المرفق رقم 1
لاحظ انا عملت generate لل view row class لان الكلاس دى هى اللى بتمثلي السجل اللى انا هتعرف على حالته
اما الview object class فهى الكلاس اللى هكتب فيها الميثود
كما بالشكل
2- In the view object class write this methods
public String getRowStatus(Row row) { EduTranDetailsVORowImpl rwImpl = (EduTranDetailsVORowImpl) row; String rwStatus = translateStatusToString(rwImpl.getEntity(0).getEntityState()); return rwStatus; } private String translateStatusToString(byte b) { String ret = null; switch (b) { case Entity.STATUS_INITIALIZED: { ret = "Initialized"; break; } case Entity.STATUS_MODIFIED: { ret = "Modified"; break; } case Entity.STATUS_UNMODIFIED: { ret = "Unmodified"; break; } case Entity.STATUS_NEW: { ret = "New"; break; } } return ret; }
فى الميثود الاولى getRowStatus دى بتاخد باراميتر من نوع ROW . يعنى بتبعتلها السجل كله ك PARAMETER علشان ترجع حالته
طيب اية هو السجل دة؟
هو السجل اللى من النوع ال View Row class اللى عملتلها GENERATE اللى هى اصلا بتمثل ال ROW
فى المثال هنا اسمها EduTranDetailsVORowImpl طبعا هتغير اسمها حسب ما هو موجود عندك
يعنى مثلا لو عندك ال view اسمها EmployeeView هتلاقى الكلاس اسمها EmployeeViewRowImpl
طيب انا فى الحقيقة مقدرش اعرف حالة السجل من خلال ال view لان ال view اصلا بتمثل SQL Query Statement يعنى مش بتمثل السجل و لكن اللى بيمثل السجل فى ال ADF هو ال Entity Object
لكن انا من خلال ال View اقدر اوصل لل Entity object بتاعها اللى هى اصلا مبنيه عليه و ذلك من خلال الميثود اللى اسمها getEntity
و من خلال ال entity اقدر احصل على حالة السجل من خلال الميثود اللى اسمها getEntityState
الكلا اللى انا قولته دة هو معنى السطر دة
Comments