السلام عليكم
درس اليوم سيكون بسيط وهو مقدمة للدرس الذي يليه ومخصص في أداة RadioButtonList التي تسمح باختيار خيار من بين مجموعة خيارات
وهذا بناءا على طلب البعض في شرحها
لنقم بانشاء مشروع جديد ونعمل التالي فيه
ندرج جدول 3 صفوف وعمود واحد
ونكتب السؤال إلي نريده لنعمل له خيارات الآن
وثم نسحب من قائمة الأدوات الأداة التالية RadioButtonList
ثم نسحب زر
سنقوم الآن بتعبئة الخيارات التي نريد عن طريق النقر على المثلث الصغير بأعلى الأداة واختيار edit items أو من خصائص الأداة نختار collection
ثم بعد ذلك سهل جدا نضغط على إضافة add ونضيف الخيارات
1- للإضافة
2- العنوان الظاهر على الخيار
3- هذه القيمة البرمجية إذا أردنا الوصول إيها من خلال الكود وهي تسهل الوصول إلى الاختيار بدلا من القيمة النصية الظاهرة وذلك لاختصار الوقت بدلا من كتابة ASP.NET نكتب 5 في البرمجة
وبعدين نضغط على أوكي
ما راح أضع السورس كود مثل الدرس السابق
حالوا تجربوا حتى تأخذ أيديكم على العمل
الآن لنقم بتشغيل المشروع ونجرب الخيارات لنلاحظ أنه عند اختيار خيار وثم اختيار خيار آخر يصبح الخيار الجديد هو الرئيسي ويختفي الاختيار عن الخيار السابق .
الآن لنعد للمشروع وستكون الفكرة كالتالي
اذا اختار المستخدم الخيار الأول وضغط على زر اختيار يكتب له في بداية الصفحة أحسنت الاختيار وإذا اختار خيار آخر يكتب له خطأ في الاختيار
لننقر على الزر نقرتين لنصل إلى الكود البرمجي له ونكتب التالي
كود:
Protected Sub btnok_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnok.Click
If RadioButtonList1.SelectedValue = 0 Then
Response.Write("أحسنت الاختيار")
Else
Response.Write("خطأ في الاختيار")
End If
End Sub
لنشرح الكود
إذا كانت الأداة . القيمة المختارة = 0 يعني الخيار الأول ( طبعا الترقيم بيبدا من 0 ) إذا
فئة الطلب . اكتب (تم بنجاح)
وإلا
اكتب خطأ
ولنقم بالتجربة الآن
ولكن ماذا لو نحفظ ال value الخاصة بكل عنصر.
فعندها سنصل للأداة ليس عن طريق الخاصية SelectedValue
بل عن طريق SelectedItem
لنقم يجعل الكود السابق في المشروع كأنه تعليق لنكتب الكود الجديد
لنكتب الكود التالي الآن
كود:
If RadioButtonList1.SelectedItem.Text = "ASP.NET" Then
Response.Write("أحسنت الاختيار")
Else
Response.Write("خطأ في الاختيار")
End If
والكود بسيط مثل سابقه
لنقم بالتجربة الآن
وهناك مرونة كبيرة في الاستخدام أريدكم أن تجربوها وهي امكانية استخدام أكثر من جملة شرطية
أي إذا كان الاختيار الرابع مثلا يكتب مثلا هذا خطأ فادح وليس خطأ عادي
كل الامكانيات أمامكم ولكنني لن أشرح هنا الفيجوال بيسك بل إن شاء الله سأشرح كم كبير في الجزء الثاني من الدرس
ولكن أريد أن أنوه إلى هذا الخطأ ماذا لو ضغط المستخدم على زر موافق دون أن يختار
قوموا بالتجربة وراح تجدوا أن الممشروع سيتوقف نتيجة لخطأ .
سيكون لي إن شاء الله درس خاص عن الأخطاء ولكن الآن حل مؤقت وشرح مؤقت اجعلوا شكل الكود كالتالي
كود:
Try
'هنا نكتب ما نريد تجربته
If RadioButtonList1.SelectedItem.Text = "ASP.NET" Then
Response.Write("أحسنت الاختيار")
Else
Response.Write("خطأ في الاختيار")
End If
Catch ex As Exception
'هنا نكتب ماذا يفعل عند حدوث خطأ وسأتركها فارغة الآن
Response.Write("خطأ")
End Try
لاحظوا كلمة try وتعليقي أسفل منها
ويمكنكم كتابة بعد السطر هذا Catch ex As Exception
التالي
لنقم الآن بتجربة المشروع.
وإلي عنده استفسار أنا موجود
وأنتظر ممن يرديون واجبات أن يقوموا بارسال المشروع لي مع وجود أداتين وعند النقر على الزر يخبرنا بالاختيارين الظاهرين على الأداتين معا
وهي رابط الدرس
http://www.khalilme.net/L/l41/1.zip