بتاريخ: 7 أغسطس 201114 سنة comment_214719 بسم الله الرحمن الرحيم اخوانى الاعزاء فى المنتدى عندى فورم عبارة عن جدول فيها حقل فى الداتا بيس من نوع NUMBER(1,0) و عاوزها تكون فى الفورم على هيئة selectbooleancheckbox بحيث لو اختار يحفظ فى الداتا بيس 1 و لو مش اختار تكون على 0 تقديم بلاغ
بتاريخ: 7 أغسطس 201114 سنة comment_214741 شوف حفترض مثلا انك عندك cloumn فى ال Database اسمه ISMarried قيمته ب Y اذا كان الموظف متزوج و N اذا كان ليس متزوجا وعاوز تعمل Select Boolean Check box على جدول الموظفين على ال Column ده فالطريقه كالاتى 1 حتعمل Transiet Attribute فى ال View Object الخاص بالموظفين نوعه Boolean وال Updatable بتاعه ب always وليكن اسمه مثلا ISMarriedBoolean ووظيفته انه بيعمل set و get لل attribute ال Flag اللى عندك 2 حتعمل Generate لكلاس ال View Row Impl وفى ال set الخاصة بال attribute ال Boolean حتكتب كده public void setISMarriedBoolean(Boolean value) { if (value) this.setIsmarried("Y"); else this.setIsmarried("N");} معنى كده لو قيمة ال attribute ب true يعنى المستخدم عمل check عليه خللى ال cloumn ال flag ب Y ولو القيمه ب false خللى ال Cloumn ال flag ب N وفى ال get الخاصة بال attribute حتكتب كده public Boolean getISMarriedBoolean() { if (this.getIsmarried() != null && this.getIsmarried().equals("Y")) return true; return false;} معنى كده ان لو ال cloumn ال Flag قيمته ب Y رجع true ولو ب N رجع false 3 اعمل drop لل table بتاعك فى الصفحه ونزل كل ال attributes اللى عندك بما فيها ال transiet attribute ما عدا الCloumn ال Flag ما تنزلوش فى الصفحه 4 اقف على ال input Text جوه ال cloumn الخاص بال Boolean Transiet Attribute واعمله convert to Check box واضغط ok وامسح ال Text الخاص بال select Boolean check box من ال Property Inspector وبكده اول ما تعمل run للصفحه وتعلم على ال checkbox اى على العمود ال transiet حيعمل set فى العمود ال Flag تقديم بلاغ
بتاريخ: 7 أغسطس 201114 سنة comment_214743 الأخت هالة:برغم أن الحل الذي ذكرتيه سليم ولكنه غير عملي بسبب أنه يتطلب عمل كثير في حين أنه توجد طريقة مباشرة لتنفيذ طلب الأخ bodaman22.قم بسحب الجدول إلى الصفحة ولكن لا تختار الحقل الذي تريده على هيئة check box ثم قم بسحب الحقل الذي تريده على هيئة check box داخل الجدول على هيئة selectBooleanCheckbox وسيطلب منك JDeveloper إدخال القيمة التي تريدها إذا تم اختيار الـ check box والقيمة إذا لم يتم اختيار الـ check box وبالتالي يمكنك استخدام القيمتين 1 و 0 أو القيمتين Y و N أو أي شئ أخر تقديم بلاغ
بتاريخ: 7 أغسطس 201114 سنة comment_214744 فين العمل الكتير ده وبعدين الموضوع ليس موضوع الاسهل او الاسرع الموضوع موضوع الحل الافضل وده هو الحل الافضل لانه بيتم على مستوى ال view object اللى ممكن نستخدمه فى اى مكان تانى وكمان ده بيعمل set and get للقيمه فاهم قصدى يعنى القيم اللى اصلا داخله ال cloumn ال Flag ب Y حتلاقى فى الجدول متعلم عليها اول ما تعمل RUN والقيم ب N مش متعلم عليها لانه جايب من الداتابيز عن طريق ال get تقديم بلاغ
بتاريخ: 7 أغسطس 201114 سنة comment_214745 الأخت هالة:راجعي عدد الخطوات التي ذكرتيها وستجدين أنها كالتالي كما ألخصها بشكل سريع:1. حتعمل Transiet Attribute فى ال View Object الخاص بالموظفين نوعه Boolean وال Updatable بتاعه ب always2. حتعمل Generate لكلاس ال View Row Impl .3. كتابة كود في ال set4. كتابة كود في ال get5. اعمل drop لل table بتاعك فى الصفحه ونزل كل ال attributes اللى عندك بما فيها ال transiet attribute ما عدا الCloumn ال Flag ما تنزلوش فى الصفحه6. قف على ال input Text جوه ال cloumn الخاص بال Boolean Transiet Attribute واعمله convert to Check box واضغط ok وامسح ال Text الخاص بال select Boolean check box من ال Property Inspector في حين أن الخطوات التي ذكرتها هي مجرد سحب الجدول ثم سحب الحقل منفرداً مع تحديد القيم في حالة الاختيار أو عدم الاختيار وهذا أيضاً يؤدي إلى النتيجة أنه عند التنفيذ حتلاقى فى الجدول متعلم عليها اول ما تعمل RUN والقيم ب N مش متعلم عليها وبدون كتابة أي سطر كود وبالتالي الحل الذي ذكرتيه ليس الأفضل لأنه يتطلب خطوات كثيرة وبالتالي يتطلب وقتاً أطول.وبحسبة بسيطة ، إذا كان عندنا 100 check box في النظام فستكون عدد خطوات التنفيذ التي ذكرتيها والوقت اللازم لتنفيذها كبير مقارنة بالحل الذ ذكرته ويمكنك التجربة بنفسك تقديم بلاغ
بتاريخ: 7 أغسطس 201114 سنة comment_214746 اوكيه ماشى موضوع الفيو اوبجكت ده ورغم سهولته مش حعمله غير مره واحده بس واى وقت حنزل الفيو اوبجكت فى الصفحه ححول ال attribute الى Check box فقط لا غير تقديم بلاغ
بتاريخ: 7 أغسطس 201114 سنة comment_214749 أنت ستقومين في كل صفحة بتنزيل الفيو أوبكت وتحويل الـ attribute إلى check. في الحل الذي ذكرته ستقومين بتنزيل الفيو أوبكت وسحب الـ attribute على هيئة check box ولذلك تجدين أن التنفيذ هنا يأخذ نفس الوقت تقريباً ولكن مع الفرق أنه في خطواتك ستقومين بتنفيذ مجموعة من الخطوات الأخرى ولذلك عملياً يكون الحل الثاني أسهل وأسرع.أيضاً هناك نقطة هامة هنا أنه بتطبيق الحل الثاني لا يهم نوع المتغير في حين أنه في الحل الأول يجب أخذ نوع البيانات في الاعتبار وهذا أيضاً يزيد من مدة تنفيذ الحل الأول تقديم بلاغ
بتاريخ: 9 أغسطس 201114 سنة comment_214811 الاخت هالة ....فعلا الحل سليم جدا جدا وانا كنت بستخدمه على طول بس فعلا خطواته كتير غير كده تخيلى ان عندك جدول صلاحيات مثلا فيه 5 من selectBoolean هنا هتعملى 5 ترانيزنت وده كتير .....فى حين انى ممكن اسحب العنصر نفسه منفردا ك selectBoolean تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.