سؤال

أقوم بإنشاء عنصر تحكم ويب في VB.NET الذي يحتوي على مربع قائمة. أعلم أنني قادر على اختيار وضع اختيار واحد أو متعدد، لكنني مهتم بالحد من اختيار متعدد إلى حجم محدد مسبقا. على سبيل المثال، تمنع المستخدم من تحديد أكثر من 3 عناصر.

لقد حاولت إضافة خادم محقق إلى مربع القائمة، والتي قد تكون وسيلة للمضي قدما، لكنها كانت تتساءل عما إذا كانت هناك طريقة لتغيير وضع التحديد إلى شيء مختلف قليلا عن اثنين فقط.

أي أفكار أو اقتراحات ستكون محل التقدير

تحرير: لسوء الحظ بسبب قيود المشروع، أنا غير قادر على استخدام JavaScript في هذه المشكلة. مزعج جدا أنا أعرف!

هل كانت مفيدة؟

المحلول

يمكنك محاولة التعامل مع أحد أحداث selectedindexchange. مع اختيار متعدد، في كل مرة ينطلق فيها هذا الحدث، يمكنك التحقق من عدد العناصر التي تم تحديدها بالفعل. إذا كان الأمر أكثر مما تريد، فقم بإلغاء تحديد المعالج الذي تم اختياره للتو. يمكنك أيضا وضع علامة حمراء صغيرة تحت قائمة ListBox تقول "آسف، لا يزيد عن [N] التحديدات المسموح بها".

تحرير: فقط لاحظت أنك قلت الويب. ينطبق نفس النظرية، ولكن يجب القيام به باستخدام جافا سكريبت.

نصائح أخرى

في الحدث SelectedIndExChanged، اكتب قطعة قصيرة من التعليمات البرمجية التي ستحقق من عدد العناصر المحددة وإذا كانت أكبر من المبلغ المطلوب، دون إلغاء تحديد التحديد الجديد (أو إلغاء تحديد الأقدم، أو ولكن كنت ترغب في ذلك للعمل).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top