我正在尝试使用通过SQLDataAdapter从SQL返回的DataTable来填充组合框。
组合框条目应显示为VendorName列中的字符串,但它们显示为ID列中的整数。
有人能发现我错过的东西吗?
DataTable vendors = sql.GetData("SELECT id, VendorName FROM Vendors ORDER BY VendorName", "Q");
drpVendor.DataSource = vendors;
drpVendor.DisplayMember = "VendorName";
drpVendor.ValueMember = "id";
drpVendor.SelectedIndex = 0;
我已经通过将其指定为DataGridView的DataSource来验证DataTable供应商的内容,如下所示:
答案 0 :(得分:0)
问题的根源是this问题,Visual Studio 2010没有显示运行时错误。一旦在Debug>中更正了例外> CLR ...运行时错误使我能够识别以下问题。
drpVendor.DataSource = vendors;
在调用此行之后,正在尝试更改DataGridView的只读列的drpVendor_SelectedIndexChanged事件。
由于没有抛出CLR异常,代码在此行之后崩溃,使组合框显示默认的“id”列。