У меня есть функция, которая должна заполнять поля со своими данными. В настоящее время он работает только для одного поля со списком одновременно.
Я пытался скопировать одну и ту же функцию дважды (в основном я просто изменил имена переменных и сделал новую функцию для использования со вторым списком), чтобыпосмотрим, была ли это переменная ошибка, но она все еще не работает. Я перестроил решение, но оно все еще не работает.
это код для функции
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");
}
Я ожидаю, что оба поля со списком в моей форме будут иметь массив значений для выбора, но это всегда будет только тот, который показывает значения (тот, который был запущен первым, поэтому в данном случае - поле со списком клиентов).