SetItemCheckState 中断 foreach!帮助?
我是新来的,有一个关于 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# 新手。
感谢您的帮助:)
I'm new here and have a question about C#'s CheckedListBox.
I built the CheckedListBox with data from a SQLite Database file.
I want the user to check or uncheck items and in doing so it updates in the database.
When you open the list again the Items you previously checked should still be checked. Ie if the boolean field in the database says "true" for a specific item, it should be checked.
Heres the code I'm using:
index = 0;
foreach (DataRowView item in CheckedListBox.Items)
{
if (item.Row["viewed"].ToString() == "true")
{
CheckedListBox.SetItemCheckState(index, CheckState.Checked);
}
index++;
}
When I comment out the line in the If statement the loop goes through all the items, but when i leave it like it is above, the loop only enters once.
Why is that?
I'm really new to C#.
Thank you for any help :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
for循环
而不是foreach
。Use
for loop
instead offoreach
.