الانتقال إلى المحتوى

تفريغ دورة الـ Adf الفيديو للمهندس Sd4It إلى نص وصور


hanyelbana

Recommended Posts

أخوكم مبرمج من 12 سنة ، عديت على كل حاجة ولأن تخصصي مطور نت فبداية من
HTML
JavaScript
css
asp
php
jsp
asp.net
c#.net
vb.net
oracle database
oracle forms&reports
oracle apps HR consultant
java
حتى إني إشتغلت بال JSF أول ما ظهرت لكن مكملتش لأني تحولت للعمل الخاص وركزت على الشغل بالـ php
المهم قررت أخيرا العمل بال ADF والتركيز عليها
وسعدت جدا بدورة الباشمهندس مصطفى ماجد في المنتدى هنا واستفدت منها كتير
ولأني متفرغ الآن للتركيز على الـ ADF
فقد قررت تفريق حلقات هذه الدورة وشرحها بالنص والصور التوضيحية
وهذا طبعاً لن يتم إلا بموافقة المهندس مصطفى
ولذلك أنا أنتظر موافقته حتى أشرع في تفريغ الفيديوهات بتسلسلها
في إنتظار موافقة حضرتك يا باشمهندس

* تنويه : لأني لا أملك قواعد البيانات المستخدمة في الفيديو .. فسأقوم بإستخدام جداول إسكيمة HR الجاهزة في قواعد بيانات أوراكل
- فهل تمشي يا باشمهندس ؟

تم تعديل بواسطة hanyelbana
رابط هذا التعليق
شارك

  • الردود 56
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

  • hanyelbana

    28

  • King Oracle

    4

  • sd4it

    4

  • Hala Salem

    3


إذا على بركة الله





بسم الله الرحمن الرحيم





كل ما نحتاجه من أدوات :





1- أي قواعد بيانات .. سأستخدم هنا Oracle 11g





لأننا سنستخدم جداول HR التى تأتي مع قواعد البيانات





وكذلك تأتي نفس الجداول مع نسخة Oracle 10g ex





2- JDeveloper





ويمكنكم تنزيله من هنا








وهو كامل ومجاني من شركة أوراكل





وسنستخدم أحدث نسخة وهي





JDeveloper Studio 11.1.2.0.0





سنبدأ بإذن الله من نقطة تشغيل البرنامج وسنأخذها من شروحات موقع أوراكل لأنها لم تسجل في الفيديو





1- نقوم بتشغيل البرنامج من قائمة start





t10101.gif




2- ستظهر لنا قائمة اختيار الـ Role ومنها يمكننا تحديد البيئة التى سنعمل عليها مثلا كمطوري قواعد بيانات أو مطوري جافا وميزتها أنها تقلل حجم الأدوات الظاهرة وتعطيك ما تحتاجه على حسب إختيارك هنا . نحن سنختار Studio Developer وهو يحتوى على كل الأدوات وهو الإختيار الإفتراضي.





t10102.gif




3- عند التشغيل ستظهر لنا شاشة البداية لتعطيك بعض المساعدة





t10103.gif


قم بإغلاقها عن طريق OK





4- نقوم الآن بإنشاء أبلكيشن جديد - والأبلكيشن Application هو المحتوى الكبير الذي نضيف بداخله المشاريع Projects





وذلك بالنقر على New Application من لوحة الأبلكيشن في أقصى أعلى يسار الشاشة - وفيها ستجد تطبيقاتك ومشاريعك منظمة في تنسيق شجري





t10104.gif




5- عندها ستخرج لك شاشة New Gallery وستشاهدها كثيرا عندما تريد إنشاء أي شيء جديد في البرنامج





قم باختيار Fusion Web Application (ADF) وهو عبارة عن تطبيق ADF للويب يتكون من مشروعين أحدهم للكود الخلفي للمبرمجين يعني





والآخر للواجهة للمصممين يعني - وكله بيشيله المبرمج في الآخر





t10105.gif

رابط هذا التعليق
شارك


6- نسمي الأبلكيشن بتاعنا HRSystem





ثم نحدد مسار حفظ الملفات



ثم نضع demo كبادئة للأسماء كعملية تنظيمية أو لا نضعها سيان




t10106.gif


7- ثم ستأتي خطوات إنشاء المشروعين كما أسلفنا .. نقوم بإنشائهما بالمسميات الإفتراضية كما في الصور التالية





t10107.gif



t10108.gif




t10109.gif




t10110.gif



رابط هذا التعليق
شارك


8- وعندها ستظهر أمامنا الشاشة بهذا الشكل




t10111.gif




سنجد أمامنا قائمة مقترحة من البرنامج لبناء التطبيق .. أحنا حنبدأ من تاني خطوة وهي الكونكشن من الداتا بيز



t10201.gif



ثم نضغط على Create a Database Connection


t10202.gif



وعندها ستظهر لك شاشة إنشاء الكونكشن وهي شاشة مهمة ، نقف عندها شوية



t10203.gif



أول حاجة حنحط اسم الكونكشن - أي إسم


هنا حنحط HRConn


ثم نوع الكونكشن ، وده حيختلف حسب قواعد البيانات المستخدمة


عاندك مثلا


Sql Server


MySql


DB2


واحنا هنا حنستخدم Oracle



- بنحط اليوزر نيم والباس ورد بتاع قاعدة البيانات


وهي هنا


username : hr


password : hr


أو زي ما هو موجود عاندك .. لكن ده هو الإفتراضي للأوراكل



بنحط معلومات سيرفر الداتا بيز


لو قواعد البيانات على نفس السيرفر بنسيب المعلومات الإفتراضية زي ما هي


ولو على سيرفر تاني بنحط الـ IP بتاع السيرفر التاني


ثم بنحددال SID بتاع قاعدة البيانات


في الأوراكل 10g xe بيكون XE


لكن معانا هنا مع ال 11g العادية بيكون الإفتراضي


orcl



نضغط Test Connection للتجربه


ولو طلعلك success! يبقى مبروك عليك .. كسبت كونكشن


OK



- نقفل الـ Connect to a Database


t10204.gif







رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته , انا بصراحة يا بشمهندس مش شايف اي فايدة للي هتعمله ده , انا اعرف ان النص يدعم بالصور , والنص والصور تدعم بالفيديو , لكن يبقي عندك فيديو وترجع تاني تعمله لنص وصور (غريبة) وملهاش اي فايدة وضياع وقت جااااامد , انا اعرف ان الناس كلها بتزحف عشان تلاقي فيديو , ع العموم ربنا يوفقك , السلام عليكم ورحمة الله وبركاته

رابط هذا التعليق
شارك

قم باختيار Done من القائمة التى بجوار الكونكشن علشان تعلم انك خلصت الخطوة دي


t10205.gif



نذهب الآن للخطوة 3 وهي الـ Build Business Services وهي عبارة عن إنشاء لمجموعة من الأوبجكتس تحاكي الجداول المختارة


فلدينا Entity Objects وهي تمثل صفوف البيانات في الجدول فكل صف في الجدول يمثل أوبجكت جديد


ولدينا Associations للربط بين هذه الأوبجكتز



وكذلك لدينا View Objects وهي تمثل أداة الإختيار والتعديل والحذف من البيانات وكأنها تمثل ال SQL queries


ولدينا View Links للربط بين هذه الأبجكتز



ومصاحب لها Read Only View وهي التي لها صلاحية القراءة فقط وليس لها حق التعديل



وفي النهاية يقدم لنا الوزرد خيار أن ينشأ لنا application module وهو عبارة عن برنامج جافا لعرض البيانات المختارة واختبار عمل الموديول



كل هذا ستجده مشروح باللغة الإنجليزية في الصورة التالية



t10206.gif



اضغط الآن على Go to Substeps لفتح الخطوات



اضغط على أول خطوة Create Entity Objects and Associations


والتى سياخذنا معها الوزرد إلى كل الخطوات التالية


t10207.gif



انقر مرة أخرى على زر Create Entity Objects and Associations



t10208.gif



- قم باختيار المشروع Model لنضع بداخله ما سنقوم بإنشائه من أوبجكتز



t10209.gif

رابط هذا التعليق
شارك


- قم باختيار الكونكشن المنشأ مسبقا HRConn



t10210.gif


- قم باختيار الجداول المستخدمة والتى يمكن التعديل عليها ، ودع الجداول التى ستستخدم للقراءة فقط في الخطوات التالية



- اضغط زر Query ليعرض لك كل الجداول المتاعة عن طريق الكونكشن الحالي لتختار منها





t10211.gif


- نقوم باختيار الجدولين DEPARTMENTS و EMPLOYEES ليقوم الوزرد بإنشاء updatable entity objects منهما




t10212.gif


- ثم نقوم بإختيار نفس الجدولين مرة أخرى ليقوم الوزرد بإنشاء Updatable View Objects منهما





t10213.gif


- ثم نقوم باختيار جدول JOBS ليصنع منه الوزرد Read-Only View



t10214.gif

تم تعديل بواسطة hanyelbana
رابط هذا التعليق
شارك

وأخيرا شاشة Application Module


يمكنك تغيير الإسم أو تركه كما هو



t10215.gif



- والآن يمكنك التأشير على Create Entity Objects and Associations بـ Done



t10216.gif



- والآن قم بالضغط على زر Close Step 3 لإغلاق كامل الخطوات والتى أنهيناها خلال الوزرد



t10217.gif



- وعلم على العملية كلها بـ Done



t10218.gif



- قم الآن بعمل ريت كليك على AppModule ثم قم باختيار Run من القائمة لتشغيل برنامج الجافا واختبار ما قمنا بعمله



t10219.gif

رابط هذا التعليق
شارك

- بعد تشغيل البرنامج - دبل كلك على EmpDeptFkLink1 للتجربه



t10220.gif



- حاول تقلب عن طريق الأسهو وشاهد سجلات الماستر وسجلات الديتيلز المرتبطة بها.



- يمكنك كذلك تحديد السجلات المعروضة عن طريق أيكونة Specify View Criteria إللي عملة زي المنظار



t10221.gif



- ثم تحديد أي قيمة .. مثلا 1700 في خانة LocationID



t10222.gif



- وعندها ستجد أن سجلات هذا اللوكيشن فقط هي التي تعرض .



- وعندها أيضا نكون إنتهينا من المقدمة وندخل إن شاء الله فيما هو آت في الفيديوهات.

رابط هذا التعليق
شارك

- على بركة الله نبدأ في إنشاء صفحة جديدة


- أول شيء نعمل ريت كلك على مشروع الواجههة وهو ViewController


ثم نختار New




h1.gif



- حتظهرلنا قائمة New Gallery زي ما أحنا عارفين


- نختار منها JSP/Facelets


المنبثقة من Web Tier في القائمة اليسرى


- ثم نختار ـاول إختيار وهو Page من القائمة اليمنى



h2.gif



- نكتب اسم الصفحة زي ما نحب .. احنا في الصفحة دي بإذن الله حنشرح إزاي نعمل فاليديشن على أي حقل مدخلات أو مخرجات ، يعني مثلا نحدد عدد الحروف المدخلة ، حد معين من الأرقام ... إلخ


- حنسمي الصفحة validation.jsf


وباقي الخيارات كما في الصورة



h3.gif



- من الـ Component Palette وتحت Text and Selection


حنضغط على Input Text لإضافته في الصفحة ، أو نقوم بسحبه ووضعه في الصفحة



h4.gif



- ليظهر لنا بهذا الشكل في الصفحة



h5.gif

رابط هذا التعليق
شارك

- الآن نعمل ريت كليك على حقل النص إللي لسة ضايفينه في الصفحة ونختار Go to Properties وهي أسهل طريقة للوصول لخصائص أي شيء على الصفحة إن كانت لوحة الخصائص غير ظاهرة أمامك



h6.gif



- الآن سنتعلم أول فاليديشن وهو هل هذا الحقل مطلوب ( أي لابد من إدخاله ) أم لا ( يعني دخله أو لا براحتك ) ، بعد أن تجعله True ستجد أن نقطة خضراء ظهرت بجوار العنوان Required لتعطيك دلالة أن القيمة تم تغييرها .


- الجميل في هذه الخاصية عندما يتم ربط الحقول مع جداول قواعد البيانات كما سنرى فيما بعد بإذن الله ، أنها تأخذ حالة مطلوب أو لا من قاعدة البيانات آليا على حسب إعدادات قاعدة البيانات نفسها .


h7.gif



- سنلاحظ على حقل النص أنه أضيف له علامة النجمة التى ترمز أنه مطلوب



h8.gif


- نلاحظ جزء مهم من الشاشة وسنستخدمه كثيرا وهي لوحة الإستركشر وهي الجزء الذي سيفصل لك كل عنصر موجود في الشاشة ، وبإختيار وتعليم الجزء منها كأنك علمت عليه في الشاشة ، والأهم أنها يظهر بها العناصر التى لا تظهر في الشاشة مثل عناصر الفاليديشن كما سنرى ( فاليديشن مطلوب أو غير مطلوب تعتبر من خصائص حقل الإدخال ولا تعتبر عنصر فاليديشن منفصل )



h9.gif



- نذهب الآن إلى لوحة العناصر ثم نفتح جزء الـ Operations الذي يحتوى على عناصر الفاليديشن ، لاحظ أن لدينا 7 عناصر يمثلهم 4 أيكونات مختلفة



h10.gif



- عناصر الـ Length بأيكونة وهي تمثل عدد الحروف المدخلة


- عناصر الـ Range بأيكونة وهي تمثل حدود الأرقام المدخلة من 0 إلى 100 مثلا


- عناصر الـ Date بأيكونة وهي تمثل تحديد التاريخ


- عنصر الـ Regular Expression بأيكونة وهي تمثل وضع شكل معين للمدخلات بأيدينا



هيا نشرح هذه العناصر واحد واحد

رابط هذا التعليق
شارك

- الآن نختار حقل الإدخال من الصفحة أو من لوحة الإستركشر ، ثم نختار validateLength من لوحة العناصر أو نسحبها إلى حقل الإدخال


- عندها ستجد أن عنصر الفاليديشن ظهر بأيكونته المميزة في لوحة الإستركشر ، رغم أن حقل الإدخال في الصفحة لم يتغير ، وتلك هي ميزة التعامل مل لوحة الإستركشر




h11.gif



- الآن قم بالنقر المزدوج على العنصر في لوحة الإستركشر لتظهر لك لوحة حصائصه في أقصى اليمين ، ومنها يمكنك وضع حدود عدد الحروف المسموحة


هنا وضعنا أنها لا تقل عن 6 حروف ، يعني 6 ماش لكن 5 مثلا مينفعش ، ولا تزيد عن 12 يعني 12 ماشي ولكن 13 مينفعش



h12.gif



- إعمل ريت كلك على الصفحة ثم Run لتعمل الصفحة على البروزر .. قد تأخذ وقت في أول مرة .. وستجد أنك عندما تضع المؤشر على حقل إدخال النص سيعطيك مساعدة قبل أن تكتب أي شيء بما يجب إدخاله في هذا الحقل



h13.gif


- حاول الآن كتابة 3 حروف فقط ثم النقر خارج حقل الإدخال ، ستجد رسالة خطأ تملء العين



h14.gif


- قم الآن بإدخال كلمة من 6 إلى 12 حرف وانقر خارج الحقل وستجد أنه قبلها ( ملحوظة المسافة تعتبر حرف )



h15.gif

رابط هذا التعليق
شارك

- الآن نأتي لثاني فاليديشن وهو validate Byte Lenght وهو المسؤول عن تحديد حجم النص المدخل بالبايت ، كما هو معلوم ان طريقة تكويد النصوص مبنية على اللغة الإنجليزية فالحرف الإنجليزي يمثل 1 بايت والحروف في اللغات الأخرى تحسب على حسب تعقيد تكويدها فالحرف في اللغة العربية تحت تكويد UTF-8 يحسب بـ 2 بايت وحروف اللغة اليابانية تحسب بـ 3 بايت ، فأنت في هذا الفاليديشن بتحط طريقة التكويد إللي حتحسب عليها وبتحط أقصى عدد للبيتات المدخلة ، وهذه الميزة مفيدة جدا في تطوير برامج الـ SMS حيث أنك نحدد الرسالة بـ 140 بايت مثلا ، فلو المستخدم حيدخل إنجليزي يبقى حيسمحله حتى 140 حرف ولو حيدخل عربي حيسمحله حتى 70 حرف عربي لأن المحاسبة تكون على قدر المساحة التى تستخدمها الرسالة.



- هنا نحن تركنا لك وضع حقل نص جديد ، ثم تضع عليه الفاليديشن ، ثم هذه هي خصائص الفاليديشن



h16.gif



- نأتي الآن إلى الـ Validate Long Range وهي لتحديد الأرقام الصحيحة من إلى ، وهذه هي خصائص الفاليديشن.



h17.gif



- ولكن لو مدخلاتك تشمل كسور عشرية مثل الراتب فعليك إستخدام Validate Double Range وهذه هي خصائص الفاليديشن



h18.gif



- نأتي الآن لنوع مهم وهو Validate Regular Expression وهنا أنت تضع الباترن أو شكل المدخلات كما تريد ، نحن هنا نريد إدخال رقم التأمينات الإجتماعية ، وهذا الرقم له شكل خاص كالتالي : 111-222-333 ، نحن هنا سننشأ حقل نص جديد ونضع عليه الفاليديشن وفي الخصائص سنضع الباترن : حيث أن


[0-9] يمثل أي رقم من 0 إلى 9 ، يعني الرمز دة يمثل رقم ، وبعد ما حطينا 3 رموز منه حطينا شارطة كما هو مطلوب - وهكذا ...



ممكن كمان نفس القصة نستخدمها في إدخال أرقام التليفونات بالطريقة التى تحلو لنا



h19.gif



- ننتقل الآن إلى إدخال التاريخ وتحديده ، نقوم بوضع عنصر إدخال تاريخ من قائمة العناصر من الجزء Text and Selection


h19_2.gif



رابط هذا التعليق
شارك

- عندما تضع العنصر في الصفحة ستجده كما في الشكل ، وهو الشكل المميز للأيكونة التى تفتح النتيجة لإختيار التاريخ منها ثم وضعه في حقل النص



h19_3.gif



- الآن حاول إضافة فاليديشن Validate Date Time Range على حقل التاريخ


ومن خصائصه حدد تاريخ البداية والنهاية لتسمح للمستخدم للإختيار بينهما


* ملحوظة إبدأ بتاريخ أقدم ثم تاريخ أحدث ولا تعكس التواريخ



h20.gif



- نأتي الآن لآخر فاليديشن وهو Validate Date Restriction وهو المسؤول عن منع المستخدم من إختيار شهور معينه في السنة أو أيام معينة من الإسبوع


يمكنك عمل ذلك بوضع الأيام أو الشهور الممنوعة في الخصائص ، وكذلك يمكنك منع إختيار أيام محددة ولكن ذلك يحتاج إلى بعض البرمجة ، سنعرج عليها فيما بعد بإذن الله



h21.gif

رابط هذا التعليق
شارك

الاخ / hanyelbana

جهد فعلا مشكور عليه ورغم ان الفيديوهات دى موجوده فعلا صوت وصوره وشرح عملى الا ان من الممكن يبقى فيه ناس معندهاش وقت للتحميل او لمشاهدة الفيديوهات كلها وبالتالى يقدروا يقروها اثناء تصفح المنتدى وبكده الاستفاده بالدروس دى حتبقى اكتر وخاصة لو فتحت جزء للنقاش والاسئله

لى تعليقين على الشرح الى الان :

اولا: وانت بتعمل create للصفحه اخترت Facelets معنى كده ان الصفحه حتبقى فيها JSF 2 Facelets tag وليس صفحه JSPX عاديه

ثانيا: طبعا موضوع عمل ال Validation على مستوى الصفحه دى للاغراض التعليميه فقط لان فى المشاريع الضخمه مش حنلف على كل صفحه فى المشروع ونضع ال Validators جوه كل input Text ولكن احنا بنعمل كل ال Validations بتاعتنا على مستوى ال Entity Object مره واحده بس فى الابليكيشن ( والانتيتى فيها كل ال Validation دى واكثر ) وكل View Object حنرميه فى الصفحه مبنى على الانتيتى دى حيبقى كل ال attributes اللى فيه فيها ال validation اللى عملتها

Go on بقى

رابط هذا التعليق
شارك

Partial Page Refresh وهو يعني التحديث الجزئي للصفحة



يعني الجزء المتغير فقط هو إللي يعمل refresh أو submit مش الصفحة كلها ودة هو مختصر تقنية الأجاكس

ولكن هنا ستصنعها بدون معرفتك للأجاكس وبتغيرات بسيطة

سنفترض أن لدينا راديو جروب بها خيارين ، كلما يغير المستخدم الخيار يشعر بذلك حقل إخراج نص ويطبع قيمة الخيار الحالي

وسنضع بوسط الصفحة حقل إدخال نص ونجعله مطلوب فقط للتأكد أنه لا يحدث تحديث كامل للصفحة عند تغير الخيارات



قم الآن بإدراج هذه المتطلبات في صفحة جديدة ، نحن هنا أنشأنا صفحة جديدة باسم ppr.jsf


وقمنا بإدراج العناصر في الصفحة



f1.gif



- قم الآن بجعل حقل إدخال النص مطلوب لتظهر معه النجمة *


وستظهر معك الصفحة كما يلي



f2.gif


- أول خطوة هي جعل الخاصية AutoSubmit في الـ Radio Group بـ True يعني أي تغيير في القيمة حيعمل أوتو سبميت لوحده


- لاحظ اسم الـ ID



f3.gif



- الخطوة الثانية نأخذ الـ ID للـ Radio ونضعه في خاصية PartialTriggers في حقل النص Output Text


- وحاول أيضا أن تتذكر الـ ID الخاص به لأننا سنستخدمه الآن


f4.gif


- بقيت آخر خطوة وهي كتابة الكود للشيء الذي نريده أن يحدث عند تغيير القيمة


- نحن هنا نريد حقل النص أن يعرض القيمة الجديدة


- دبل كليك على ملف الجافا الذي أنشأ مع الصفحة لنفتحه ونعدل فيه



f5.gif

رابط هذا التعليق
شارك

- ستظهر لك صفحة كود الجافا والذي نسمية ال bean



- مفروض أنك نختار العنصر إللي حتعمل عليه الحدث وهو هنا الراديو من قائمة Components وتختار الحدث إللي حتعمله عليه من Events ومفروض هنا نختار valueChangeListener وهو زي متابع بيتابع تغير القيمة


- مفروض البرنامج يحطلك كود الميثود دي ويخليك تكتب جواها إللي حيحصل لما تتغير القيمة


- لكن هو معايا بيديني الخطأ دة .. مش عارف دة غلط عاندي ولا في النسخة الجديدة من الـ Jdeveloper




f6.gif



- المهم حكتب الكود بإيدي


- وهي عبارة عن ميثود بتاخد براميتر valueChangeEvent إللي مفروض حدث التغيير


- جوا الميثود حنخلق أوبجكت جديد أسمه newValue ونحط فيه القيمة الجديدة


- وناخد الـ ID بتاع حقل النص ونعمله set بالقيمة الجديدة


f7.gif



- وعند تنفيذ الصفحة حنلاقيها بالصورة دي



f8.gif

رابط هذا التعليق
شارك

- تصور أنك تريد حقل النص بدون عنوان .. ستقول سهلة سأقوم بمسح محتويات خانة ال Label .. ولكن هكذا ستخسره مع رسائل الخطا ، والبديل أن تجعل الخاصية Simple بـ True


وهي ستجعله لا يظهر مع حقل إدخال النص مع الإحتفاظ به




e1.gif



- والآن نعود للتعرف على بعض العناصر الجاهزة والمفيدة والتى تأني مع الـ ADF



- Input Number Spinbox ليجعل المستخدم يزيد أو ينقص في الرقم المدخل



- Slider يجعل المستخدم يختار الرقم المراد بطريقة جرافيك



- وكذلك Slider - Range يجعله يختار مدى معين من الأرقام من - إلى



e2.gif



- وهذا هو الشكل في الصفحة



e3.gif



- وهذا هو الشكل عند التطبيق



e4.gif



- نأتي الآن لعناصر التاريخ .. وهو عنصر إدخال التاريخ عن طريق النتيجة المعروف وهو Input Date



- ولكن هناك شكل جديد وهو Choose Date وهو عبارة عن نتيجة مفتوحة تختار منها مباشرة ثم يذهب الإختيار لعنصر Input Date




e5.gif

رابط هذا التعليق
شارك

- وهذا هو شكل العناصر في الصفحة ،



e6.gif



- ولكن لابد من ربط النتيجة المفتوحة بعنصر إدخال التاريخ قبلها ليعرض ما نختاره بصورة آلي ، ولكي نفعل ذلك نضع الـ ID للنتيجة والتى هي عنصر Choose Date في خانة ChooseId الموجودة في خصائص عنصر إدخال التاريخ الذي نريد ربطه



e7.gif



- وهذه هي النتيجة على المتصفح



e8.gif



- نأتي الآن لعناصر جديدة وهي:



- إختيار اللون Input Color



- عنصر الإختيار من متعدد Shuttle



- عنصر الإختيار من متعدد Shuttle مع وجود ميزة ترتيب العناصر المختارة



e9.gif



- وهذه هي النتيجة على المتصفح


e10.gif

رابط هذا التعليق
شارك

- نأتي الآن لموضوع مهم وجميل في نفس الوقت وهو القوائم المرتبطة على بعضها أو Cascading list of values


- هيا نبدأ


- هدفنا هنا هو عرض جدول العنوان للموظفين Location


بحيث عندما نختار الدوله من قائمة ، تمتلء قائمة أخرى تحتها بكل المدن الموجودة في قواعد البيانات لتلك الدولة ، علما أن هناك جدول للدولة به رقم ID واسم الدولة ، ورقم الدولة موجود في جدول اللوكيشن للربط ، والمدينة موجودة داخل جدول اللوكيشن كعنصر مفرد وليس لها جدول .



- أولا سنجعل ال ADF يصنع لنا بيزنس كومبوننت من جدولي اللوكيشن والكانتري



d1.gif



- نختار الجدولين كما صنعنا في البداية مع جداول الموظفين والأقسام لنصنع منهما أنتتي أوبجكت



d2.gif



- ثم نختارهم مرة أخرى لنصنع منهما فيو أوبجكت



d3.gif



- بعد الإنتهاء نختار الفيو الخاص بجدول اللوكيشن ثم نختار منه الـ CountryId ونصنع لها List of Values



d4.gif



- نختار مصدر البيانات للقائمة



d5.gif

رابط هذا التعليق
شارك

- نقوم باختيار الكانتري فيو ليكون مصدر قائمة الدول في الفيو الخاص باللوكيشن



d6.gif



- لا ننسى أن نذهب بعدها للتبويب UI Hints لتحديد البيانات التى ستظهر في قائمة الدول ، وبالطبع سنختار هنا CountryName



d7_.gif



- نحدد الـ List Attribute بـ CountryId ليكون هو الحلقة الواصلة بين فيو اللوكيشن وفيو الكانتري



d7.gif



- الآن سنقوم بإنشاء فيو أوبجكت جديد يجمع لنا المدن لتكون تكتل منفصل عن الفيو الأم وهو فيو اللوكيشن وعندها يسهل عرضها كقائمة داخل فيو اللوكيشن



d8.gif



- نحدد اسم الفيو وليكن Cities_In_Country ونحدد نوع مصدر الداتا بـ SQL query



d9.gif

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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