C# combobox ile göre ilçe getirme nasıl yapılır?

Yeniçocuk

Kilopat
Katılım
30 Kasım 2018
Mesajlar
5.544
Makaleler
2
Çözümler
13
Merhabalar arkadaşlar C# Windows form application üzerinden 2 tane combobox oluşturdum. İlk combobox içinde iller olacak bu seçilen ile göre ilçeleri gelecek veri tabanı kullanmadan. İlk combobox için gerekli olan illeri kodlar ile ekledim çalışıyor sorun yok ilçeler için komutlarda oluşturdum ama ilçeler gelmiyor nasıl çözebilirim?

C#:
private void Form1_Load(object sender, EventArgs e)
{
DataTable Tablo = new DataTable();
Tablo.Columns.Add("Baslik");
Tablo.Columns.Add("Deger");
for (int i = 0; i < 3; i++)
{
DataRow Satir = Tablo.NewRow();
switch (i)
{
case 0:
Satir["Baslik"] = "Bursa";
Satir["Deger"] = "16";
break;

case 1:
Satir["Baslik"] = "Samsun";
Satir["Deger"] = "55";
break;

case 2:

Satir["Baslik"] = "Sinop";
Satir["Deger"] = "57";
break;
}
Tablo.Rows.Add(Satir);

}

Liste_Il.DisplayMember = "Baslik";
Liste_Il.ValueMember = "Deger";
Liste_Il.DataSource = Tablo;
//MessageBox.Show(Liste_Il.SelectedValue.ToString());

}
private void Liste_Il_SelectedIndexChanged(object sender, EventArgs e)
{
if (Liste_Il.SelectedIndex > 0)
{
MessageBox.Show(Liste_Il.SelectedValue.ToString());
}
}

private void liste_Ilce_SelectedIndexChanged(object sender, EventArgs e)
{
if (liste_Ilce.SelectedIndex > 0)
{
MessageBox.Show(liste_Ilce.SelectedValue.ToString());
}
}
public void Iller(string IlPlaka)
{
DataTable Tablo = new DataTable();
Tablo.Columns.Add("Plaka");
Tablo.Columns.Add("IlceAdi");
int a = 0;
int b = 0;
for (int i = 0; i < 3; i++)
{
DataRow Satir = Tablo.NewRow();
if (IlPlaka == "16")
{
a++;
switch (i)
{

case 0:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Gemlik";
break;

case 1:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Kestel";
break;

case 2:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Orhangazi";
break;

case 3:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Osmangazi";
break;
}
}
if (IlPlaka == "55")
{
a++;
switch (i)
{
case 0:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Bafra";
break;

case 1:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "İlkadım";
break;

case 2:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Atakum";
break;

case 3:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Terme";
break;
}

}
if (IlPlaka == "57")
{
a++;
switch (i)
{
case 0:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Gerze";
break;

case 1:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Ayancık";
break;

case 2:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Erfelek";
break;

case 3:
Satir["Plaka"] = IlPlaka;
Satir["IlceAd"] = "Dikmen";
break;

}

}

}
}
}
}
 
Aslına bakarsanız bu tür durumlar için "HashMap" denen veri yapıları kullanılıyor ama siz kolaya kaçıp biraz kod hamallığı yaparak seçilen ilden sonra combobox'ı aktif edip ilgili ilin ilçelerini switch case ya da if else üzerinden listeye append etmeyi deneyebilirsiniz
 
Aslına bakarsanız şöyle bir yaklaşım HashMap'ten daha kolay olabilir. ilk önce bütün illeri bir listeye koyun sonra o illerin ilçeleri için tek tek ayrı listeler oluşturun ama listelerin referansları illere göre olsun. Daha sonra büyük bir switch case ya da if/else if/else döngüsüne alın. yani en üstteki combobox.getSelectedItem tarzı bir fonksiyona göre ilçeleri ilçelerin listeleneceği combobox'a yönlendirin. Bu işlemler dinamik olacağı için iş bittikten sonra combobox'ın içindeki elemanları da boşaltın. Kusura bakmayın olmayan C# bilgimle tavsiye vermeyi denedim. Umarım mantıklı gelmiştir.
 
Aslına bakarsanız şöyle bir yaklaşım Hashmap'ten daha kolay olabilir. İlk önce bütün illeri bir listeye koyun sonra o illerin ilçeleri için tek tek ayrı listeler oluşturun ama listelerin referansları illere göre olsun. Daha sonra büyük bir Switch case ya da if/else if/else döngüsüne alın. Yani en üstteki combobox. Getselectedıtem tarzı bir fonksiyona göre ilçeleri ilçelerin listeleneceği Combobox'a yönlendirin. Bu işlemler dinamik olacağı için iş bittikten sonra Combobox'ın içindeki elemanları da boşaltın. Kusura bakmayın olmayan C# bilgimle tavsiye vermeyi denedim. Umarım mantıklı gelmiştir.

Yok hocam estağfurullah C# dilinde pek başarılı değilim bende tavsiye almak isterim.
 

Geri
Yukarı