I have this DataTable with the following structure:
ID | VALUE
----------------
1 | Item 1
2 | Item 2
3 | Item 3
And I display the values from the DataTable into a CheckedListBox control by adding each row as an item.
But how can I include the ID? Is there "DisplayMember" and "ValueMember" like Properties for CheckedListBox control?
Well yes, there are DisplayMember and ValueMember properties on CheckedListBox, although the docs for ValueMember claim it's "not relevant to this class".
Here's a quick example showing DisplayMember working:
using System;
using System.Drawing;
using System.Windows.Forms;
class Test
{
static void Main()
{
CheckedListBox clb = new CheckedListBox {
DisplayMember = "Foo",
ValueMember = "Bar",
Items = {
new { Foo = "Hello", Bar = 10 },
new { Foo = "There", Bar = 20 }
}
};
Form f = new Form
{
Controls = { clb }
};
Application.Run(f);
}
}
Also note that the docs state:
You cannot bind data to a CheckedListBox. Use a ComboBox or a ListBox for this instead. For more information, see How to: Bind a Windows Forms ComboBox or ListBox Control to Data.
Given the above code which works, presumably it's talking about more advanced data binding, using DataSource?
The DataSource, DisplayMember and ValueMember properties are available for this control but they are not displayed in the IntelliSense: MSDN
You should be able to use them though.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With