Asp.Net DropDownList'e Veri Kaynağı Bağlama


Twitter'da Paylaş Favorilerime Ekle

Asp.Net Kontrollerine Veri Kaynağı (DataSource) Bağlama

Asp.Net'in bize sunduğu nesneler sayesinde dropdownlist, listbox gibi liste türündeki kontrollere veri kaynağı bağlayabiliriz. Yani veritabanımızdaki kayıtların dropdownlist veya listbox gibi elemanlar içerisinde görüntülenmesini sağlayabiliriz.

Hem de bu işi hiç kod yazmadan yapabiliyoruz. Eğer DataSource nesnesini (SqlDataSource vb.) kullanmayı biliyorsak işimiz son derece kolay demektir.

İlk olarak sayfamıza bir DataSource nesnesi ekleyip yapılandırmalıyız. Yani hangi veritabanına bağlanacağını, hangi tablodan hangi alanları seçeceğini falan belirtmeliyiz.

Ardından da DropDownList nesnesinin DataSourceID özelliği sayesinde ilgili DataSource'a bağlıyoruz. Bu sayede DataSource ile gelen veriler liste kontrolü içerisinde görüntüleniyor.

İşlem basamakları ve resimli açıklamaları için aşağıdaki örneği inceleyiniz:

DropDownList1'den Şehir Seçilince DropDownList2'de O Şehre Ait İlçelerin Listelenmesi

Bir listeden il seçildiğinde diğer listede ilçelerin güncellenerek listelenmesi çok karşılaştığımız bir örnektir. Bu örnek için öncelikle Türkiye'deki iller ve ilçeleri içeren bir veritabanına ihtiyacımız olacak.

Bu veritabanını indirmek için tıklayınız.

Yapacağımız örneğin çalışan hali şu şekilde olacaktır:

il seçildiğinde ilçeleri listeleme

Üstteki DropDownList'ten il seçildiğinde alttakinde o ile ait ilçeler görünüyor.

İşlem Adımları:

Veritabanımız Access olduğuna göre sayfamıza bir adet SqlDataSource koyalım. (Eski versiyonlarda AccessDataSource) İsmi illerDataSource olsun. Configure Data Source komutu ile veri kaynağımızı yapılandıralım ve iller tablosundaki iki alanı da seçelim. (Videoda görebilirsiniz.)

DataSource yani veri kaynağımız hazır olduğuna göre artık DropDownList'e bağlayabiliriz:

il seçildiğinde ilçeleri listeleme

DropDownList'in sağ üst köşesindeki oka tıklanarak açılan menüden, "Choose Data Source" komutuna tıklayalım.

Gelen pencerede;

  • 1 nolu alandan bu kontrole hangi DataSource'un bağlanacağını seçelim.
  • 2 nolu alandan DropDownList'in Text özelliği için kullanılacak alan seçilmeli. Yani liste içinde görünecek olan veriler tablodaki hangi alandan gelecek, bu belirtilmeli. Örneğimizde sehir alanını seçiyoruz ki şehirlerin adları listede görünsün.
  • 3 nolu alandan ise value olarak kullanılacak alan seçilmelidir. Id alanını seçerek, şehir kodlarının DropDownList elemanlarının value değeri olarak kullanılmasını sağlıyoruz.

il seçildiğinde ilçeleri listeleme

Tamam butonuna tıkladığımızda artık DropDownList içerisinde şehir adları görünecektir.

Unutmamamız gereken bir nokta da DropDownList1'in AutoPostBack özellğini Enabled yapmaktır. Çünkü bu listede değişiklik yapıldığında sayfa sunucuya gönderilmeli ve ilçeler listesi yenilenmelidir.

il seçildiğinde ilçeleri listeleme

Sıra geldi ilçeleri getirecek DataSource'u hazırlamaya(ismi ilcelerDataSource olsun). İlçeler tablosunda 3 alan bulunmaktadır:

ilce: İlçe adı, id: ilçe kodu ve sehir: bağlı olduğu ilin kodu.

DataSource yapılandırma penceresinde Where kısmına girerek sehir alanı, DropDownList1'den gelen veriye eşit olan kayıtları elde edilmesi sağlanmalıdır:

il seçildiğinde ilçeleri listeleme

Aşağıdaki şekilde sehir alanındaki verilerin bir kontrol ile karşılaştırılacağı, bu kontrolün de DropDownList1 olacağını belirtelim. Ardından Add butonuna tıklayarak şartımızın sorguya eklenmesini sağlayalım.

il seçildiğinde ilçeleri listeleme

Tamam deyip önceki ekrana döndüğümüzde Select sorgumuzun şu şekilde görünmesi gerekir.

il seçildiğinde ilçeleri listeleme

İleri diyerek DataSource yapılandırmamızı bitirdikten sonra, DropDownList2'ye bu DataSource'u bağlamak kalıyor.

il seçildiğinde ilçeleri listeleme

Ve işlem tamam. Artık il seçildiğinde o ilin ilçeleri dropDownList2 içinde listelenecektir.

 

 

Asp.net dropdownlist listbox veri tabanındaki tabloya bağlama, veritabanındaki kayıtları dropdownlist listbox içinde gösterme, örnek sehir seçince altta ilçelerin çıkması resimli ve videolu anlatım

KONU İLE İLGİLİ ÖRNEKLER