【问题标题】:Set checked items in checkedlistbox from list or dataset从列表或数据集中设置checkedlistbox中的选中项
【发布时间】:2012-10-23 16:40:43
【问题描述】:

我有一个 CheckedListBox,我想检查另一个列表中的所有项目。 此代码不起作用,因为 CheckedItems 属性是只读的并且类型不匹配,但它给出了我想要做的最好的想法。

    checkedListBox1.DataSource = DataSetSelectAll().Tables[0];
    checkedListBox1.ValueMember = "id_table";
    checkedListBox1.DisplayMember = "name";

    List<tableClass> list = MyCheckedList();
    checkedListBox1.CheckedItems = list;

我知道这是错误的,但不知道如何更好地解释它。

【问题讨论】:

  • 您必须遍历列表,然后将列表框项目设置为选中。

标签: c# winforms dataset checkedlistbox checklistbox


【解决方案1】:

不可能像这样一次设置(检查)多个项目,checkedListBox1.CheckedItems = list;

你可以更好地使用 for 循环,例如:

List<tableClass> list = MyCheckedList();
for (int count = 0; count < checkedListBox1.Items.Count; count++)
{
  if (list.Contains(checkedListBox1.Items[count].ToString()))
  {
    checkedListBox1.SetItemChecked(count, true);
  }
}

【讨论】:

    【解决方案2】:

    andy 的回答是对的,但我有一个更简单的解决方案。我的解决方案适用于 Windows 应用程序。

    DataTable dt = MyCheckedList();
    foreach (DataRow dr in dt.Rows)
    {
          for (int i = 0; i < checkedListBox1.Items.Count; i++)
           {
              if (dr["valueMember"].ToString() == ((DataRowView)checkedListBox1.Items[i])[0].ToString())
                {
                    checkedListBox1.SetItemChecked(i, true);
                }
           }
    }
    

    注意:dt 必须填写一个包含所有checkedList 值的dataTable。

    【讨论】:

      【解决方案3】:

      我不知道为什么,但我 SetItemChecked(index, tf) 没有给我想要的东西。这就是我解决它的方法 - 明确设置 CheckedState。

      for (int i = 0; i < myCheckedListBox.Items.Count; i++)
      {
          if (boolList[i])
          {
              myCheckedListBox.SetItemCheckState(i, CheckState.Checked);
          } else
          {
              myCheckedListBox.SetItemCheckState(i, CheckState.Unchecked);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-18
        • 2017-08-10
        • 2014-10-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多