شرح برامج » لغات البرمجة » التعامل مع Flex Grid في فيجوال بيسك

 التعامل مع Flex Grid في فيجوال بيسك  أضيف في: 6-12-1426هـ
ان أداة FlexGrid احدى ادوات اظهار البيانات في شكل شبكي او جدولي ان صح التعبير سنتطرق في هذا الدرس الى كيفية وضع نتائج استفسار فيها و اظهاره للمستخدم و كذلك بعض الافكار في التعامل مع هذه الاداة





قبل كل شيء دعنا نقوم بإعطائك الصورة التي نريد ان نصل اليها في النهاية لكي تكون على علم بما سنعمل عليه انظر الصورة التالية :

http://www.c4arab.com/images/lessons/databases/pic/c13f1.gif

لكي نبدأ بالدرس اضف مشروع جديد و انشأ او استخدم اي قاعدة بيانات و اربطها في البرنامج كما تعلمنا سابقا ، وسنفترض ان قاعدة البيانات التي سنتعامل معها اسمها db وفيها جدول باسم tb ويحتوي على الحقول التالية namd و job و age سنكتفي بثلاثة حقول ، بعد ذلك يجب ان تضيف اداة هذه الشبكة ولفعل ذلك ، اذهب الى قائمة project >> combonent او اضغط على ctrl+T ستفتح لك قائمة المكونات اختر منها المكون التالي و ضع بجانبه علامة صح Microsoft FlexGrid Control 6.0 كما هو موضح في الصورة

http://www.c4arab.com/images/lessons/databases/pic/c13f2.gif

بعد ان تحدد المكون الذي في الصورة السابقة اضغط Ok لتضيف المكون للمشروع وتعود للمشروع


بعد ذلك اختر الاداة الخاصة برسم FliexGrid كما هو مبين في الصورة التالية و ارسم على الفورم مساحة معقولة تأخذ تقريبا ثلث الفورم

http://www.c4arab.com/images/lessons/databases/pic/c13f3.gif

اضغط بالزر الايمن على الشبكة التي قمت برسمها و اختر Properties ستفتح لك نافذة الخصائص وفي علامة التبويب General يمكنم اختيار عدد الصفوف من الخاصية Rows و عدد الاعمدة من الخاصية Cols ، كما يمكنك تحديد عدد الاعمد التي تكون بلون داكن كمفتاح للشبكة من الخاصيةFixed Cols او الصفوف التي بلون داكن من الخاصية Fixed Rows





الان سنتعلم التحكم بخصائص FlexGrid بواسطة الكود ، يجب ان تعلم ان جميع الاوامر التي تكتب لهذه الاداة غالبا ما تكتب في حدث التحميل للفورم Load ، و من الخصائص التي يجب ان تتعلمها هي التحكم في عرض الصفوف مع العلم بأن الصفوف مرقمة من اليسار الى اليمين ابتداء من الصفر و اذا اردنا مثلا ان نغير عرض العمودين رقم 0 و 3 مثلا و نريد ان يكون عرضهما 2000 و 1000 على التوالي فإننا سنحتاج الى كتابة الكود التالي :





MSFlexGrid1.Colwidth(0) = 2000

MSFlexGrid1.Colwidth(3) = 1000





مع العلم بأن اسم الاداة في المكود السابق هو MSFlexGrid1، لاحظ أننا نقوم بحصر رقم الصف بين قوسين


و الان كيف سنقوم بوضع عناوين الحقول على الاعمدة في هذه الشبكة لكي نفرق بين الحقول ، الفكرة بأن تقوم بتحديد الخلية بالصف و العمود بعد ذلك تكتب النص المراد ، مثلا نريد أن نكتب عنوان الحقل الاول و هو "الاسم " في العمود الاول و عنوان الحقل الثاني و هو " العمل " في العمود الثاني فماذا سنعمل انظر للكود التالي و ستعرف



MSFlexGrid1.Row = 0

MSFlexGrid1.Col = 0

MSFlexGrid1.Text = "الاسم "

MSFlexGrid1.Col = 1

MSFlexGrid1.Text = "العمل"







لاحظ أننا في اول سطرين من الكود السابق قد قمنا بتحديد اول خلية على اليسار في الزاوية العليا و ذلك بتحديد احداثياتها وهي الصف الاول و العمود الاول ، ثم قمنا بكتابة العنوان بالخاصية Text ، مع العلم بأن البرنامج يقوم بتخزين احداثيات اخر خلية تقوم بكتابتها ، لذلك و عندما نكتب احداثيات النقطة الثانية ستتفيد من هذه الميزة فسنكتب احداثي العمود و هو 1 لأن الاحداثي السابق للصف هو 0 و هو مخزن فماذا نكتبه مرة اخرى مادمنا لانحتاج لتغييره ، بعد ذلك نكتب العنوان باستخدام الخاصية Text كما فعلنا مع الاولى و نستمر بهذه العملية اذا احتجنا الى عناوين اخرى ، وستظهر العناوين التي عملناها بالكود السابق كما الشكل التالي :

http://www.c4arab.com/images/lessons/databases/pic/c13f4.gif

و الان كيف نقوم بتعبئة البيانات من جدول او استعلام ؟


كما تعلمنا في الدروس السابقة فإننا نقوم بإنشاء جدول وهمي لكي نخزن فيه البيانات مؤقتا كما هو حال الرام RAM في الجهاز لتخزين البيانات لنتعامل معها و بعد اغلاق الجهاز تذهب المعلومات ، ان ديناميكية تعبئة البيانات بسيطة و سلسة ونحتاج اولا وضع عناوين الاعمدة كما تعلمنا في الفقرة السابقة ويكتب ذلك غالبا في حدث التحميل Load بعد ذلك يأتي دور تعبئة السجلات ، وقبل كل شيء اضف سطر يتأكد من وجود بيانات في الجدول لكي لاتواجه مشاكل ، بعد ذلك احسب عدد السجلات في الجدول و لفعل ذلك كما تعلمنا سابقا يجب اولا ان نمر على الجدول الى النهاية ثم نعود الى البداية لكي نستطيع ايجاد عدد السجلات بواسطة الخاصية Count نقوم بعد ذلك بعمل تكرار على عدد السجلات و نضع داخله كود يقوم بتعبئة البيانات بنفس الطريقة التي قمنا فيها بوضع عناوين الاعمدة ولكن يكون المصدر هو الجدول ،لن تفهم ما ذكرته الا عندما تشاهد الكود المطلوب و الذي سأورده الان مع ملاحظة ان اسم الجدول الوهمي TB و يوجد به الحقول Name و Job ، مع ملاحظة ان اسم FlexGrid في الكود التالي هو flx1


If tb.RecordCount < 1 Then Exit Sub ' لكي نتأكد من وجود سجلات في الجدول او نخرج في عدمها

tb.MoveLast ' نتحرك الى الحقل الاخير

tb.MoveFirst ' نتحرك الى الحقل الاول

n = tb.RecordCount ' نخزن عدد السجلات في المتغير n

For i = 1 To n

flx1.Row = i ' رقم الصف حسب رقم التكرار

flx1.Col = 0 ' رقم العمود ثابت لأننا سوف نضع جميع القيم في للحقل في عمود واحد

flx1.Text = tb!Name ' نضع قيمة الحقل في الخلية المحددة

flx1.Col = 1

flx1.Text = tb!job

tb1.MoveNext ' نتحرك للسجل التالي

Next i


End Sub









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





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






If tb.RecordCount < 1 Then Exit Sub

tb.MoveLast

tb.MoveFirst

n = tb.RecordCount

flx1.Rows = n + 1

For i = 1 To n

flx1.Row = i

flx1.Col = 0

flx1.Text = tb!Name

flx1.Col = 1

flx1.Text = tb!job

tb.MoveNext

Next i


End Sub

الكاتب: LaSer_26 انقر هنا لمراسلة LaSer_26 أنقر هنا للإنتقال إلى موقع LaSer_26 إضافة للمفضلة إضافة لمفضلة Google إضافة لمفضلة Delicious إضافة لمفضلة Digg إضافة لمفضلة Facebook
خيارات الدرس : ارسل الدرس لصديق ارسل الدرس لصديق  طباعة الدرس طباعة الدرس  حفظ الدرس كملف Word حفظ الدرس كملف Word 



 

مكتبة الصور

مكتبة الصوتيات

مكتبة البطاقات

مكتبة الأخبار

مكتبة الفيديو

مكتبة الفلاشيات

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

قنوات فضائية

الأدعية الصحيحة المنتديات مكتبة القصص موسوعة الطبخ

مجلة قصيمي نت

موسوعة الكتب