Windows form uygulamalarında ComboBox kontrolünü dinamik olarak doldurma yöntemleri.
C# Windows form uygulamalarında ComboBox kontrolünü dinamik olarak doldurma yöntemleri.
Basit kullanım;
VeriMsSQL.Islem islem = new VeriMsSQL.Islem();
DataSet ds = islem.IsyeriListe(Classes.Global.baglantiLogoFirmaId);
if (ds.Tables[0].Rows.Count > 0)
{
cbIsyeri.DataSource = ds.Tables[0];
cbIsyeri.DisplayMember = "ISYERI";
cbIsyeri.ValueMember = "NR";
}
ds.Dispose();
Asp.net'te kullanılan ListItem gibi KeyValuePair ile;
List<KeyValuePair<string, string>> secenek = new List<KeyValuePair<string, string>>();
secenek.Add(new KeyValuePair<string, string>("-1", "İŞYERİ SEÇİNİZ.."));
VeriMsSQL.Islem islem = new VeriMsSQL.Islem();
DataSet ds = islem.IsyeriListe(Classes.Global.baglantiLogoFirmaId);
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow dr = ds.Tables[0].Rows[i];
string isyeriId = dr["NR"].ToString();
string isyeriAd = dr["ISYERI"].ToString();
secenek.Add(new KeyValuePair<string, string>(isyeriId, isyeriAd));
}
}
// temizle
cbIsyeri.DataSource = null;
cbIsyeri.Items.Clear();
// doldur
cbIsyeri.DataSource = new BindingSource(secenek, null);
cbIsyeri.DisplayMember = "Value";
cbIsyeri.ValueMember = "Key";
ds.Dispose();
ComboBox kontrolünde KevValuePair ile seçileni almak için;
SelectedIndexChanged olayında
KeyValuePair<string, string> secilen = (KeyValuePair<string, string>)cbIsyeri.SelectedItem;
string secilenIsyeri = secilen.Value;
string secilenIsyeriNo = secilen.Key;