我正试图循环通过复选框列表的项目.如果选中它,我想设置1个值.如果没有,我想设置另一个值.我正在使用下面但它只给我检查项目:
foreach (DataRowView myRow in clbIncludes.CheckedItems) { MarkVehicle(myRow); }
TIA!
这将给出一个选定的列表
Listitems = checkboxlist.Items.Cast ().Where(n => n.Selected).ToList();
这将给出所选框的值列表(如果需要,则更改文本的值):
var values = checkboxlist.Items.Cast().Where(n => n.Selected).Select(n => n.Value ).ToList()
for (int i = 0; i < clbIncludes.Items.Count; i++) if (clbIncludes.GetItemChecked(i)) // Do selected stuff else // Do unselected stuff
如果检查处于不确定状态,则仍将返回true.您可能想要替换
if (clbIncludes.GetItemChecked(i))
同
if (clbIncludes.GetItemCheckState(i) == CheckState.Checked)
如果您只想包含实际检查的项目.
尝试这样的事情:
foreach (ListItem listItem in clbIncludes.Items) { if (listItem.Selected) { //do some work } else { //do something else } }