مساء الخير
ندعنا ندخل في المشكلة
يوجد لدي DataList1 وبداخلها Button مكتوب عليها من الداتا بيز تأتتي أسماء هذ الممجموعة أريد عندما يقوم بالنقر على الButton تأتي أسفلها العناصر التابعة لها في CheckBoxList1
(اللغة المستخدمة سي شارب)
كما في الصورة
مساء الخير
ندعنا ندخل في المشكلة
يوجد لدي DataList1 وبداخلها Button مكتوب عليها من الداتا بيز تأتتي أسماء هذ الممجموعة أريد عندما يقوم بالنقر على الButton تأتي أسفلها العناصر التابعة لها في CheckBoxList1
(اللغة المستخدمة سي شارب)
كما في الصورة
تم تعديل هذه المشاركة بواسطة EMNALI في 7 يوليو 2010 في 12:49
وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ
ممكن انك كما تكتب الاسماء من قاعدة البيانات تكتب قيمة معينة في CommandArgumentالخاص بكل Button
ثم اربط كل هذه الButtons بـ Event Handelr واحد
وداخل الEvent Handelr اكتب هذا الكود لمعرفة اي الازرار اضغط
protected void Button1_Click(object sender, EventArgs e)
{
Button b = (Button)sender;
switch (b.CommandArgument)
{
case:""
//Button 1 Clicked
break;
case :""
//Button 2 Clicked
break ;
}
}اللهم ارزقنا فهم النبيين وحفظ المرسلين
الشركة التطبيقية لخدمات الحاسب الالي [حاسب]
جزيت خيرا
ولكن المشكلة هذه المجموعات تاتي من داتا بيز اي لا أقدر أن احدد كم عدد الButton حتى يتم مهالجاتها وإذا توجد طريقة أخرى لحل هذه المشلكة الرجاء الافادة
وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ
كيف تأتي من الداتابيز؟؟؟
ارجوا التوضيح او ارفاق الكود
اللهم ارزقنا فهم النبيين وحفظ المرسلين
الشركة التطبيقية لخدمات الحاسب الالي [حاسب]
شكرا اخي hock على اهتمامك
الفكرة أنه يوجد جدول يحتوي على اسماء المجموعات
جدول اخر يحتوي على عناصر تابع للمجموعة
المجموعات
[gro_id] [int] IDENTITY(1,1) NOT NULL, [gro_name] [nvarchar](100) NOT NULL,
العناصر
[itm_id] [int] IDENTITY(1,1) NOT NULL, [gro_name] [nvarchar](100) NOT NULL, [itm_name] [nvarchar](100) NOT NULL,
أريد الان عمل التالي
أستخراج المجموعات من الجداول وضعها كما في الصورة الموجود في بداية المقال
الان اريد عندم ايضغط على هذه الButton تأتيه العناصر التابعة للمجموعة في CheckBoxList
عند اختيار اي عنصر يسجلها في الداتا بيزز الخاصة بعملية ال register
حيث يحتوي على
[user_id] [int] IDENTITY(1,1) NOT NULL, [users_name] [nvarchar](100) NULL, [user_password] [nvarchar](50) NULL, [gro_name] [nvarchar](100) NULL, [itm_name] [nvarchar](100) NULL,
تم تعديل هذه المشاركة بواسطة EMNALI في 7 يوليو 2010 في 14:28
وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ
افهم الان ان النص المكتوب على الButton جاء من قاعدة البيانات من جدول المجوعات
وانت تكون هذا النص وتكتبه على الزر اكتب معه الID الخاص بالمجموعة في ال CommandArgument
واستخدمه عند البحث كما وضحت لك في الكود اعلاه
اللهم ارزقنا فهم النبيين وحفظ المرسلين
الشركة التطبيقية لخدمات الحاسب الالي [حاسب]
لم افهم الScenario الخاص بالصفحة ولم افهم كيف سيتم الSelect وعلى اي الحقول يتعتمد
ارجوا توضيح المطلوب بشكل اسهل
اللهم ارزقنا فهم النبيين وحفظ المرسلين
الشركة التطبيقية لخدمات الحاسب الالي [حاسب]
وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ
اعذرني لم أقم بالتعامل مع asp.net من قبل ... لكنني أتعلم الـ C#
بشكل عام، لدي عدة ملاحظات على برنامجك:
أولاً:
في جدول العناصر يجب الاحتفاظ بمعرف المجموعة gro_id بدلاً من اسمها gro_name وجعله Foreignkey
ثانياً:
من يمكنك تبسيط العملية كثيراً (عليك وعلى المستخدم) وذلك بإضافة قائمتين منسدلتين ComboBox الأولى للمجموعات والثانية للعناصر
ثالثاً:
الآن بفرض أن القائمة المنسدلة الأولى هي ComboBox1 والثانية ComboBox2، عليك تحديد خصائصهما كما يلي:
comboBox1.DisplayMember = "gro_name"; comboBox1.ValueMember = "gro_id";
comboBox2.DisplayMember = "itm_name"; comboBox2.ValueMember = "itm_id";
حيث تأخذ القائمة المنسدلة الأولى قيمها من جدول المجموعات في الـ DataSet، مثلاً:
comboBox1.DataSource = DataSet1.groups;
وعليك تحديث مجموعة قيم القائمة المنسدلة الثانية comboBox2، وذلك بتضمين السطر التالي في حدث تغيير الاختيار SelectedIndexChanged في القائمة الأولى:
comboBox2.DataSource = DataSet1.items.Select("gro_id = " + comboBox2.SelectedValue);أظن الفكرة أصبحت واضحة الآن
أكمل لوحدك :D
تم تعديل هذه المشاركة بواسطة Speed_Of_Light في 10 يوليو 2010 في 18:21