我有一个方法可以获取ComboBox
对象和要在其项目上加载的查询。
该方法还要求提供另外 2 个项目:
1.DB表的列名并设置到Combobox
'DisplayMember
属性
2.该数据库表列名下每条记录的id,并将其设置为Combobox
'ValueMember
属性
public void DatabaseColumnRecordsToCombobox(ComboBox cbx, String query, String displayMember, String valueMember)
{
try
{
cmd = new MySqlCommand(query, connection);
da = new MySqlDataAdapter(cmd);
tbl = new DataTable();
da.Fill(tbl);
cbx.DataSource = tbl;
cbx.DisplayMember = displayMember;
cbx.ValueMember = valueMember;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
this.CloseConnection();
}
}
我通过创建一个包含 2 列、Id 及其对应名称的查询来使用该方法。并将其存储在ComboBox
'sDisplayMember
和ValueMember
:
DatabaseColumnRecordsToCombobox(cmbSupplier, "SELECT Id, Supplier_Name FROM Supplier WHERE Enable_Flag=1 ORDER BY Supplier_Name", "Supplier_Name", "Id");
对于冗长的介绍,我深表歉意,我只是想让大家在告诉我的问题之前了解我的程序是如何工作的。所以问题是如何DataGridView
使用ComboBox
'ValueMember
属性选择默认项?
在以编程方式选择项目时,我所知道的只是使用cmbCategory.SelectedItem = "Supplier A"
,但我需要的是使用ValueMember
. 这样我可以通过 Id 设置默认项目。