从列表或数据集中设置checkedlistbox中的已检查项目 [英] Set checked items in checkedlistbox from list or dataset

查看:245
本文介绍了从列表或数据集中设置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中的已检查项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆