C# – ComboBox.ValueMember and DisplayMember

ccomboboxdatatablepostgresql

How do i set this values? I have a DataTable with all the data i want to set in the combobox, but i cant find how to set it.

I tried

ComboBox1.DataSource = dataTable;
ComboBox1.ValueMember = "id"; // --> once hes here, he just jumps out the method
ComboBox1.DisplayMember = "name";

No compilation error, warning, nothing.. just jumps out!

This is the query to fill the DataTable

"Select * from \"Table\""

I checked with the debugger and the datatable was filled. The columns names are "id" and "name". ComboBox is blank. I'm filling it for the first time!

Best Answer

You should not set datasource of your listbox and/or combobox in this order

ComboBox1.DataSource = dataTable;

ComboBox1.ValueMember = "id"; 

ComboBox1.DisplayMember = "name";

Instead, this is correct order:

ComboBox1.ValueMember = "id"; 

ComboBox1.DisplayMember = "name";

ComboBox1.DataSource = dataTable;

NOTE: setting datasource should be last line.

If you set datasource first, SelectedIndexChanged event will fire and you may get the cast error or other exception.

Related Topic