public static void fill_combo(string table, ComboBox cmb, string columns)
{
ds = new DataSet();
try
{
conn.Open();
da = new SqlDataAdapter($"SELECT {columns} FROM [{table}]", conn);
da.Fill(ds, table);
cmb.DataSource = ds.Tables[table];
cmb.ValueMember = ds.Tables[table].Columns[0].ToString();
cmb.DisplayMember = ds.Tables[table].Columns[1].ToString();
cmb.SelectedItem = null;
cmb.Text = "Select...";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
finally
{
if (conn != null)
{
conn.Close();
}
}
}
안녕하세요. 위의 코드를 사용하여 데이터베이스에서 결과를 가져와 콤보 상자에 바인딩하려고하지만 첫 번째 항목이 데이터베이스에없는 임의의 "선택 ..."이되도록합니다. 미리 감사드립니다.기본 콤보 상자 첫 번째 항목이 데이터베이스 결과와 섞여 있음
이 작업을 수행합니까? cmb.Items.Insert (0, "Select ..."); –
@BenSteele 아니요, DataSource 속성이 설정된 경우 Items 컬렉션을 수정할 수 없습니다. –