如何设置此值?我有一个DataTable,其中包含我想在组合框中设置的所有数据,但是我找不到如何设置它。

我试过了

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

没有编译错误,没有警告,没什么..只是跳了出来!

这是填充数据表的查询
"Select * from \"Table\""

我检查了调试器,并填充了数据表。列名称是“id”和“name”。 ComboBox为空白。我是第一次加油!

最佳答案

您不应该以此顺序设置列表框和/或组合框的datasource

ComboBox1.DataSource = dataTable;

ComboBox1.ValueMember = "id";

ComboBox1.DisplayMember = "name";

相反,这是正确的顺序:
ComboBox1.ValueMember = "id";

ComboBox1.DisplayMember = "name";

ComboBox1.DataSource = dataTable;

注意:设置datasource应该是最后一行。

如果您首先设置datasource,则SelectedIndexChanged事件将触发,并且您可能会收到转换错误或其他异常。

关于c# - ComboBox.ValueMember和DisplayMember,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9521980/

10-12 15:26