الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في عنصر DropDownList ضمن ال Datagrid

مغلق
بدأه Adel Khayata في 7 ديسمبر 2004 · 6 رد · 842 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم.

أنا لدي عنصر DropDownList موجود ضمن خلية في Datagrid و أنا أريد اضافة الحدث Selectedindexchanged لهذا العنصر مع العلم أنني أبرمج بطريقة ال code-behind.

شكراً لكم.

#2

أولا عليك كتابة الكود الذي سيتم تنفيذه في كل مرة يختار المستخدم شيئا من القائمة

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

#3

السلام عليكم.

شكراً لك على ردك .... أنا جربت ماقلته و لكنه لم يعمل و لكنني استفدت من نفس الفكرة ووضعت الكود الأخير في حدث ال ItemCreated لل datagrid و اشتغل :) ....

ولكن تواجهني مشكلة أخرى و هي تتمة للأولى : و هي أنني أريد تغيير محتويات DropDownlist أخرى في حدث SelectedIndexChanged للأول ( مثلاً : عند اختيار دولة من DropDwonList يتم تغيير محتوى DropDwonList أخرى تحتوي على المدن ) و طبعاً العنصرين موجودين ضمن datagrid ....

فكيف يمكن عملها ؟

شكراً مرة أخرى.

#4

عليك باستخدام نفس الطريقة للحصول على ال DropDownList ضمن سطر محدد.

(DropDownList)myDataGrid.Items[index].FindControl("theDropDown")

ولكن هنا تبقى المشكلة كيف تصل لل ListItem المطلوب.

هنا رمزته عن طريق index لكن هذه تبقى لك طي تحدد العنصر المطلوب اما عن طريق البحث او عن طريق شيء اخر.

هل كلا ال DropDownList موجودين في سطر واحد من ال dataGrid ؟

وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان

بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي

يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي

برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي

يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو

http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3

#5

السلام عليكم.

شكراً لك أخي لتجاوبك.

أنا أضع العنصرين في خلية واحدة ضمن سطر خاص من أجل Add Record-In-Place.

#6

بما ان العنصرين يقعان في خلية واحدة من الداتا غريد فاعتقد انك تستطيع الوصول الى ال 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

#7

يا اخي اللعزيز

انت اللي تبيه انك اذا اخترت اي عنصر في 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 واخترت واحد منها تتحدث الصفحه ويتنفذ الكود اللي انت كتبته

وبس

اتمنى اني جاوبت على استفساراتك وحليت مشكلتك

هذا الموضوع مغلق.

مواضيع مشابهة