当前位置:  开发笔记 > 编程语言 > 正文

如何循环通过一个复选框列表,找到已检查和未检查的内容

如何解决《如何循环通过一个复选框列表,找到已检查和未检查的内容》经验,为你挑选了3个好方法。

我正试图循环通过复选框列表的项目.如果选中它,我想设置1个值.如果没有,我想设置另一个值.我正在使用下面但它只给我检查项目:

foreach (DataRowView myRow in clbIncludes.CheckedItems)
{
    MarkVehicle(myRow);
}

TIA!



1> Contra..:

这将给出一个选定的列表

List items =  checkboxlist.Items.Cast().Where(n => n.Selected).ToList();

这将给出所选框的值列表(如果需要,则更改文本的值):

var values =  checkboxlist.Items.Cast().Where(n => n.Selected).Select(n => n.Value ).ToList()



2> Robert C. Ba..:
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)

如果您只想包含实际检查的项目.



3> JasonS..:

尝试这样的事情:

foreach (ListItem listItem in clbIncludes.Items)
{
    if (listItem.Selected) { 
        //do some work 
    }
    else { 
        //do something else 
    }
}

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有