السلام عليكم.
أنا لدي عنصر DropDownList موجود ضمن خلية في Datagrid و أنا أريد اضافة الحدث Selectedindexchanged لهذا العنصر مع العلم أنني أبرمج بطريقة ال code-behind.
شكراً لكم.
أولا عليك كتابة الكود الذي سيتم تنفيذه في كل مرة يختار المستخدم شيئا من القائمة
void Selection_Change(Object sender, EventArgs e)
{
// Find the control fired this event
DropDownList myList = (DropDownList)sender
//Now do something with myList
}ولآن تاتي مشكلة ربط هذه الكود بالقوائم الموجوة في الداتا غرد. بما أن هذه القوائم ديناميكية يتم انشاؤها حسب الحاجة فيجب ايضا ربطها بالكود حسب الحاجة ولذلك عليك استخدم استخدام الحدث ItemDataBound لربط القوائم بهذا الكود
وذلك عن طريق
void Item_Bound(Object sender, DataGridItemEventArgs e)
{
ListItemType it = (ListItemType) e.Item.ItemType
(it == ListItemType.Header ||
it == ListItemType.Footer ||
it == ListItemType.Separator) return;
( (DropDownList)e.FindControl("theDropDown")).SelectedIndexChanged +=
new EventHandler(SelectionChanged);
}مع الانتباه الى استبدال theDropDown في FindControl بالاسم الذي اعطيته للقائمة
في الحقيقة انا لما اجرب الكود لكنني اعتقد انه سيعمل
تم تعديل هذه المشاركة بواسطة DotNetExpert في 9 ديسمبر 2004 في 11:44
وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان
بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي
يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي
برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي
يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو
http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3
السلام عليكم.
شكراً لك على ردك .... أنا جربت ماقلته و لكنه لم يعمل و لكنني استفدت من نفس الفكرة ووضعت الكود الأخير في حدث ال ItemCreated لل datagrid و اشتغل :) ....
ولكن تواجهني مشكلة أخرى و هي تتمة للأولى : و هي أنني أريد تغيير محتويات DropDownlist أخرى في حدث SelectedIndexChanged للأول ( مثلاً : عند اختيار دولة من DropDwonList يتم تغيير محتوى DropDwonList أخرى تحتوي على المدن ) و طبعاً العنصرين موجودين ضمن datagrid ....
فكيف يمكن عملها ؟
شكراً مرة أخرى.
عليك باستخدام نفس الطريقة للحصول على ال DropDownList ضمن سطر محدد.
(DropDownList)myDataGrid.Items[index].FindControl("theDropDown")ولكن هنا تبقى المشكلة كيف تصل لل ListItem المطلوب.
هنا رمزته عن طريق index لكن هذه تبقى لك طي تحدد العنصر المطلوب اما عن طريق البحث او عن طريق شيء اخر.
هل كلا ال DropDownList موجودين في سطر واحد من ال dataGrid ؟
وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان
بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي
يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي
برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي
يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو
http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3
بما ان العنصرين يقعان في خلية واحدة من الداتا غريد فاعتقد انك تستطيع الوصول الى ال DropDownList الثاني عن طريق
void Selection_Change(Object sender, EventArgs e)
{
// Find the control fired this event
DropDownList myList = (DropDownList)sender;
//Find The second DDL
DropDownList secondList = (DropDownList)myList.Parent.FindControl("secondList");
//If the first method didn't work try
//myList.Parent.Parent.FindControl("secondList");
}تم تعديل هذه المشاركة بواسطة DotNetExpert في 11 ديسمبر 2004 في 23:07
وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان
بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي
يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي
برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي
يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو
http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3
يا اخي اللعزيز
انت اللي تبيه انك اذا اخترت اي عنصر في drop down list تتغير بيانات الـ drop down list الثانيه
مثل:
عندك 2 drop down list
وحده فيها الدول والثانيه فيها المدن
لو اخترت احد المدن من الـ drop down list الاولى ولنفرض انك اخترت دولة الامارات
تتغير بيانات الـ drop down list الثانيه ويطلعلك ابو ظبي ودبي والشارقه وعجمان وغيرها
اذا كان هذا قصدك فالحل كالاتي
في خصائص العنصر drop down list تلقى خاصية اسمها Auto Post Back
الخاصية هذي دائما تكون على False
انت غيرها وخلها True
وشوف النتيجة
للمعلومية:
الخاصية هذي موجوده في عناصر كثيرة منها drop down list و radio button وغيرها
ولكن اذا كنت تبيها تشتغل لازم تكون True
وهي الخاصية تعمل تحديث للصفحة في حالة اختيار اي عنصر من العناصر
او اذا كان radio buttin واخترت واحد منها تتحدث الصفحه ويتنفذ الكود اللي انت كتبته
وبس
اتمنى اني جاوبت على استفساراتك وحليت مشكلتك
هذا الموضوع مغلق.