Set checked items in checkedlistbox from list or dataset

Xtian11 picture Xtian11 · Nov 3, 2012 · Viewed 25.4k times · Source

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.

Answer

andy picture andy · Nov 3, 2012

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);
  }
}