本文介绍了从列表或数据集中设置checkedlistbox中的已检查项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个CheckedListBox,我想检查所有在另一个列表中的项目。此代码不起作用,因为CheckedItems属性是只读的,并且类型不匹配,但它给出了我想要做的最好的想法。
checkedListBox1.DataSource = DataSetSelectAll()。Tables [0];
checkedListBox1.ValueMember =id_table;
checkedListBox1.DisplayMember =name;
列表< tableClass> list = MyCheckedList();
checkedListBox1.CheckedItems = list;
我知道这是错误的,但不知道如何更好地解释。
解决方案
不可能像这样设置(检查)许多项目,checkedListBox1.CheckedItems = list;
更好的是,您可以使用 for循环:
列表< tableClass> list = MyCheckedList();
(int count = 0; count< checkedListBox1.Items.Count; count ++)
{
if(list.Contains(checkedListBox1.Items [count] .ToString()))
{
checkedListBox1.SetItemChecked(count,true);
}
}
I have a CheckedListBox and I would like to check all the items that are in another List.This code does not work since the CheckedItems property is read-only and the types do not match, but it gives the best idea of what I want to do.
checkedListBox1.DataSource = DataSetSelectAll().Tables[0];
checkedListBox1.ValueMember = "id_table";
checkedListBox1.DisplayMember = "name";
List<tableClass> list = MyCheckedList();
checkedListBox1.CheckedItems = list;
I know this is wrong but do not know how to explain it better.
解决方案
Its not possible to set(check) many items at a time like this, checkedListBox1.CheckedItems = list;
better you can use for loop like:
List<tableClass> list = MyCheckedList();
for (int count = 0; count < checkedListBox1.Items.Count; count++)
{
if (list.Contains(checkedListBox1.Items[count].ToString()))
{
checkedListBox1.SetItemChecked(count, true);
}
}
这篇关于从列表或数据集中设置checkedlistbox中的已检查项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!