SetItemCheckState在每个语句中都被打破!的帮助
本文关键字:帮助 语句 SetItemCheckState | 更新日期: 2023-09-27 18:04:38
我是新来的,有一个关于c#的CheckedListBox的问题。
我用SQLite数据库文件中的数据构建了CheckedListBox。
我想让用户选中或取消选中项目,这样做会在数据库中更新。
当您再次打开列表时,您之前选中的项目仍应选中。例如,如果数据库中的布尔字段对特定项显示为"true",则应该对其进行检查。
下面是我使用的代码:index = 0;
foreach (DataRowView item in CheckedListBox.Items)
{
if (item.Row["viewed"].ToString() == "true")
{
CheckedListBox.SetItemCheckState(index, CheckState.Checked);
}
index++;
}
当我注释掉If语句中的行时,循环遍历所有项,但是当我像上面一样保留它时,循环只进入一次。
为什么?
我对c#很陌生。
谢谢你的帮助:)
用for loop
代替foreach
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (((DataRowView)checkedListBox1.Items[i]).Row["viewed"].ToString() == "true")
{
checkedListBox1.SetItemCheckState(i, CheckState.Checked);
}
}