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

ملتقي ابداع طلبة جامعة الحديدة

منتدى الابداع والتميز ملتقي العطاء بلا حدود الى الافضل
 
الرئيسيةالتسجيلدخول

شاطر | 
 

 التعامل مع Flex Grid

اذهب الى الأسفل 
كاتب الموضوعرسالة
زهرة الربيع
عضو نشــط
عضو نشــط
avatar

عدد المساهمات : 36
نقاط : 86
السٌّمعَة : 0
تاريخ التسجيل : 17/05/2009

مُساهمةموضوع: التعامل مع Flex Grid   الأربعاء مايو 20, 2009 1:32 pm


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


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



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


اضغط بالزر الايمن على الشبكة التي قمت برسمها و اختر 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 كما فعلنا مع الاولى و نستمر بهذه العملية اذا احتجنا الى عناوين اخرى ، وستظهر العناوين التي عملناها بالكود السابق كما الشكل التالي :



و الان كيف نقوم بتعبئة البيانات من جدول او استعلام ؟
كما تعلمنا في الدروس السابقة فإننا نقوم بإنشاء جدول وهمي لكي نخزن فيه البيانات مؤقتا كما هو حال الرام 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
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
التعامل مع Flex Grid
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» print grid out to printer

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
ملتقي ابداع طلبة جامعة الحديدة :: ملتقي إبداع معلم الحاسوب :: ملتقي الغات البرمجيه-
انتقل الى: