我有一个函数,应该使用给定的数据填充组合框。目前,它一次只能用于一个组合框。
我已经尝试过两次复制相同的函数(基本上我只是更改了变量名称,并制作了一个新的函数与第二个组合框一起使用),以查看它是否是变量错误,但仍然无法正常工作。我重建了解决方案,但仍然无法正常工作。
这是该功能的代码
public void FillComboBox(String displayMember,String valueMember,ComboBox combo,String table)
{
DataTable dt = new DataTable();
InitializeComponent();
string str = @"Provider=microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\B8328\source\repos\KaihatsuEnshuu\KaihatsuEnshuu\OI21Database1.accdb";
OleDbConnection con = new OleDbConnection(str);
string sql1 = "SELECT "+ displayMember + ","+valueMember+ " FROM "+ table ;
MessageBox.Show(sql1); //Check Query String
OleDbdataAdapter da = new OleDbdataAdapter(sql1,con);
da.Fill(dt);
combo.DataSource = dt.DefaultView;
combo.DisplayMember = displayMember;
combo.ValueMember = valueMember;
con.Close();
}
这是我在表单上使用的代码
public NewOrderForm()
{
InitializeComponent();
FillComboBox("customerName","customerId",comboBox2,"customers");
FillComboBox("empname","empno",comboBox1,"emp");
}
我希望表单中的两个组合框都有一组值可供选择,但总是只有一个显示值的框(在此情况下,第一个组合框是客户组合框)。