This example retrieves items in a list that have been checked and simply outputs them to the Output window.
Assume the list has been bound to a DataSource, like a DataTable, and that the DisplayMember and ValueMember properties are bound to fields in the DataTable:
myCheckedList.DataSource = myDataTable;
myCheckedList.DisplayMember = "FieldNameOne";
myCheckedList.ValueMember = "FieldNameTwo";
To read the value associated with FieldNameTwo
for items in the CheckedListBox
, employ a DataRowView
object to retrieve the value:
foreach(DataRowView view in myCheckedList.CheckedItems)
As you can see, the foreach
automatically casts CheckedItemCollection's Item
objects into DataRowView
objects as it iterates through the collection. This allows you to retreive the value you want.
On a side note, you could have used the literal string FieldNameTwo instead of myCheckedList.ValueMember as the array indexer for the view, but using the latter lends you a bit more flexibilityin case you want to change the field (or the name of the field) to which the CheckedListBox ValueMember is linked.