Checking if CheckBoxList has any selected values

I would like to know the fastest/easiest way to check if a CheckBoxList control has any checked items or not, I’m talking about an entire checkbox list as a whole, not a single checkbox.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

The Linq extension method is neat, but you can also just check the SelectedIndex:

bool isAnySelected = CheckBoxList1.SelectedIndex != -1;

If nothing is checked, the SelectedIndex is -1.

Method 2

This one should help:

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

.Any is a Linq extension method, so you will need the System.Linq or .System.Linq.Extensions reference (can’t remember which) in your code-behind.

Method 3

For anyone coming here 5 years after the selected answer, the Items collection is not enumerable therefore .Any(...) will not work. You can, however, do the following:

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

Method 4

The selected answer is great but now you can simply modify the code by adding OfType function. check the following:

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

I hope this helps.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x