12

CheckBoxListコントロールにチェック項目があるかどうかを確認する最も速くて簡単な方法を知りたいのですが、単一のチェックボックスではなく、チェックボックスリスト全体について話しています。

4

4 に答える 4

19

Linq拡張メソッドは優れていますが、SelectedIndexを確認することもできます。

bool isAnySelected = CheckBoxList1.SelectedIndex != -1;

何もチェックされていない場合、SelectedIndexは-1です。

于 2011-08-01T15:27:39.927 に答える
7

これは役立つはずです:

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

.AnyはLinq拡張メソッドであるため、コードビハインドでSystem.Linqまたは.System.Linq.Extensions参照(どちらを思い出せないか)が必要になります。

于 2010-08-15T09:42:13.270 に答える
2

選択した回答から5年後にここに来る人は、アイテムコレクションを列挙できないため、機能し.Any(...)ません。ただし、次のことはできます。

If cblCheckboxList.Items.Cast(Of ListItem).Any(Function(x) x.Selected) then...
于 2017-06-19T14:23:22.383 に答える
2

選択した答えは素晴らしいですが、OfType関数を追加することでコードを簡単に変更できるようになりました。以下を確認してください。

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

これがお役に立てば幸いです。

于 2017-12-13T09:39:31.483 に答える