C#

C# ComboBox ile İl ve İlçe Yazılımı | Visual Studio

Merhabalar sayın öğrencilerim ve sayın ziyaretçilerim, ben Zafer AK.

Bu yazımda; sizlerle birlikte Visual Studio – Windows Form üzerinde, C# ComboBox ile İl ve İlçe yazılımını öğreneceğiz. Aslında oldukça basit ama yeni başlayanlar için kafa karıştırıcı olabilir. Öncelikle bir SQL Bağlantısına ihtiyacımız var. Her zaman olduğu gibi yazılımımıza gerekli SQL Bağlantısını yapıyoruz ve gerekli komutları Windows Form’umuza tanımlıyoruz. Unutmayın, kodları kendi yazılımınıza göre düzenlemeniz gerekmektedir!

Bir SQL Veritabanı üzerinde ‘il ve ilçe’ olarak 2 adet tablo oluşturmanız gerekmektedir. Türkiye’nin il ve ilçeler veritabanı listesini internetten araştırarak hazır SQL Kod şeklinde bulabilirsiniz. Aşağıda verilen örnekte, tablo içerikleri olarak il, ilçe ve id kullanılmıştır. Kendiniz göre düzenleyebilirsiniz, bunlar sadece örnektir.

[php]using System.Data.SqlClient;[/php]

Formun en üst kısmına eklemeniz gereken kodlar aşağıdadır, bu kodlar olmadan yazılımınız çalışmayacaktır.

[php]
SqlConnection baglanti = new SqlConnection("Server=localhost;Database=kayittakip; trusted_connection=true");
SqlDataAdapter adaptor;
DataTable tablo;
[/php]

Evet ilk kısmı tamamladık! Formumuza gerekli ComboBox’ları ekliyoruz ve daha klas bir görünüm ile programı kullanan kişilerin istediklerini ComboBox’a yazamaması için kitliyoruz. ComboBox’a tıkladıktan sonra, Sağ alt kısımdan ‘DropDownStyle’ seçeneğini; ‘DropDownList’ olarak değiştirmeniz gerekmektedir. Ancak bu tamamen opsiyoneldir, size kalmış. Eğer ComboBox’u kitlemezseniz, TextBox’a benzer şekilde, sadece bir menü elemanı seçmek yerine, kullanıcılar istediğini yazabiliyorlar. Ben şahsen bundan hoşlanmıyorum.

Şimdi sıra ComboBox’ların çalışması için gereken kodlarda!

İllerin Form açılışında listelenmesi için; Form Load kısmının hemen altına ekliyoruz;

[php]
baglanti.Open();
SqlDataAdapter adaptor = new SqlDataAdapter ("select * from iller ORDER BY id ASC ", baglanti);
DataTable tablo2 = new DataTable();
adaptor.Fill(tablo2);
comboBox2.ValueMember = "id";
comboBox2.DisplayMember = "il";
comboBox2.DataSource = tablo2;
baglanti.Close();
[/php]

Form üzerinde ComboBox’a 2 kere tıklıyoruz ve aşağıda bulunan kodları ekliyoruz. Aşağıda bulunan kod; iller kutusunda bir il seçildiği zaman, otomatik olarak alakalı ilçeleri seçip listeleyecektir.

[php]
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox2.SelectedIndex != -1)
{
SqlDataAdapter adaptor = new SqlDataAdapter("select * from ilceler where il = " + comboBox2.SelectedValue, baglanti);
DataTable tablo = new DataTable();
adaptor.Fill(tablo);
comboBox3.ValueMember = "id";
comboBox3.DisplayMember = "ilce";
comboBox3.DataSource = tablo;
}
}
[/php]

ComboBox numaralarını (veya kendi verdiğiniz özel isimleri) yazılımınızda düzenlemeyi unutmayın.

Ek Bilgi; ComboBox’u temizlemek

Aşağıda vereceğim örnek kod ile ComboBox’u temizleyebilirsiniz. Nasıl kullanacağız size kalmış, isterseniz düğmeye atayın, isterseniz fonksiyonun içine ekleyin ve otomatik temizlesin.

[php]
comboBox3.SelectedItem = null;
[/php]

Click to comment

You must be logged in to post a comment Login

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

popüler yazılar

To Top
%d blogcu bunu beğendi: