c# winform 에서 콤보박스는 종종 사용하게 되는데,
대부분의 경우 콤보박스는 DB에서 코드값을 넣어 사용합니다.(나의 경우)
이때마다 콤보박스을 채우는 함수를 다음과 같이 만들어 놓으면 편합니다.
public void BindCodeCombo(ComboBox cBox, string MajorCode)
{
try
{
MySqlConnection Con = new MySqlConnection(connectStr);
Con.Open();
MySqlCommand mcd = new MySqlCommand("select 코드, 코드이름 from code ", Con);
MySqlDataReader mdr = mcd.ExecuteReader();
Dictionary<string, string> comboSource = new Dictionary<string, string>();
while (mdr.Read())
{
comboSource.Add(mdr.GetString("코드"), mdr.GetString("코드이름"));
}
cBox.DisplayMember = "Value";
cBox.ValueMember = "Key";
cBox.DataSource = new BindingSource(comboSource, null);
Con.Close();
}
catch (Exception eM)
{
MessageBox.Show(".BindCodeCombo 실행중 오류가 발생하였습니다.\\n "
+ eM.Message.Replace("'", " ").ToString());
}
}
댓글 없음:
댓글 쓰기