2010-08-15 19 views
8

है, यह जांचने के लिए सबसे तेज़/आसान तरीका जानना है कि चेकबॉक्स लिंक नियंत्रण में कोई चेक किए गए आइटम हैं या नहीं, मैं पूरी तरह से एक संपूर्ण चेकबॉक्स सूची के बारे में बात कर रहा हूं, एक चेकबॉक्स नहीं ।चेकबॉक्सलिस्ट के पास कोई भी चयनित मान

उत्तर

6

यह एक की मदद करनी चाहिए:

bool isAnySelected = checkBoxList.Items.Any(i => i.Selected); 
+0

याद रखें: यदि यह उत्तर आपको उपयुक्त बनाता है, तो इसे किसी स्वीकृति के रूप में चिह्नित करें :) –

+0

किसी कारण से, मुझे वीएस में "कोई भी" प्राप्त/एक्सेस नहीं लगता है, क्या आप इस बारे में निश्चित हैं? – Viredae

+0

यह एक लिंक विस्तार विधि है .. आपको 'System.Linq' या' System.Linq.Extensions 'के संदर्भ में जोड़ना होगा - सुनिश्चित नहीं है कि उनमें से कौन सा है! और निश्चित रूप से आपको वीएस -2008 + और .NET 3.5 –

12

Linq विस्तार विधि साफ है, लेकिन आप भी सिर्फ SelectedIndex जाँच कर सकते हैं:

bool isAnySelected = CheckBoxList1.SelectedIndex != -1; 

कुछ भी नहीं की जाँच की है, तो SelectedIndex -1 है।

1

चयनित उत्तर के 5 साल बाद यहां आने वाले किसी भी व्यक्ति के लिए, आइटम संग्रह गणना योग्य नहीं है इसलिए .Any(...) काम नहीं करेगा। हालांकि, आप निम्न कर सकते हैं:

If cblCheckboxList.Items.Cast(Of ListItem).Any(Function(x) x.Selected) then... 
0

चयनित जवाब महान है, लेकिन अब आप बस OfType समारोह जोड़कर कोड को संशोधित कर सकते हैं। निम्नलिखित जांचें:

bool isAnySelected = checkBoxList.Items.OfType<ListItem>().Any(i => 
i.Selected); 

मुझे आशा है कि इससे मदद मिलती है।

संबंधित मुद्दे