Проверка, имеет ли CheckBoxList какие-либо выбранные значения - PullRequest
11 голосов
/ 15 августа 2010

Я хотел бы знать самый быстрый / простой способ проверить, есть ли в элементе управления CheckBoxList какие-либо отмеченные элементы или нет, я говорю о полном списке флажков в целом, а не об одном флажке.

Ответы [ 4 ]

15 голосов
/ 01 августа 2011

Метод расширения Linq изящен, но вы также можете просто проверить SelectedIndex:

bool isAnySelected = CheckBoxList1.SelectedIndex != -1;

Если ничего не проверено, SelectedIndex равен -1.

7 голосов
/ 15 августа 2010

Это должно помочь:

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

.Any - это метод расширения Linq, поэтому вам понадобится ссылка System.Linq или .System.Linq.Extensions (не помню, какая именно) в вашем коде.позади.

2 голосов
/ 19 июня 2017

Для тех, кто придет сюда через 5 лет после выбранного ответа, коллекция предметов не будет перечисляться, поэтому .Any(...) не будет работать. Однако вы можете сделать следующее:

If cblCheckboxList.Items.Cast(Of ListItem).Any(Function(x) x.Selected) then...
1 голос
/ 13 декабря 2017

Выбранный ответ отличный, но теперь вы можете просто изменить код, добавив функцию OfType . проверьте следующее:

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

Надеюсь, это поможет.

...