ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
ASP.NET DROPDOWNLIST e SQL DEN VERİ DOLDURMAK

ASP.NETSQL den SELECT ile çektiğimiz verileri ASP.NET tarafında dropdownlist e atma işlemlerini adım adım inceleyeceğiz. Dropdownlist den seçilen veriye göre istersek seçilenin ID si ile (isteğe bağlı), istersek de seçilen text/metin ile işlemlerimize devam edeceğiz. Öncelikle  .aspx uzantılı dropdownlist ekleyeceğimiz sayfayı açıp istediğimiz yere objemizi (Dropdownlist) yerleştiriyoruz.

FK-gizle

Ardından kullanımıza bağlı olarak eğer seçilen değer değiştiğinde herhangi bir işlem yapacaksanız (burda seçileni koşul gösterip başka bir dropdownlist doldurmak gibi vs.) Visual Studio da .aspx uzantılı sayfanın sol alt köşesinde bulunan;

design-split-source

  • Design
  • Split
  • Source

kısmından Split i yada Design ı seçiyoruz. Eğer Dropdownlist i Design kısmında eklemiş iseniz sayfa değiştirmenize gerek yok. Eğer kod tarafında iseniz görsel kısma geçip Auto-post-back özelliğini açmanız gerekiyor. 

asp-net-postbackDropdownlist imize tıkladığımızda üstte bir ok göreceksiniz. Bu ok a tıkladığımızda ise Autopostback olayını değiştirmek için checkbox olduğunu göreceksiniz. Dropdownlist de değişiklik olduğunda kod tarafında bunu kullanabilmemiz için bu checkbox ın işaretli olması gerekiyor. Default olarak Disable geldiği için bunu değiştirerek Enable yaptık.

Şimdi ise kod kısmına geçip veritabanına bağlanıp verilerimizi çekip dropdownlist e aktaracağız.

Kütüphanelerimiz arasına

using System.Data;
using System.Data.SqlClient;
 
eklememiz gerekiyor
Kod kısmında ise;
 
protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection("Data Source= FAUK; Initial Catalog= SqlDeneme; User ID= sa; password=1");
        SqlDataAdapter adptr = new SqlDataAdapter("SELECT * FROM tbCalisanlar", conn);
        DataTable tbl = new DataTable();
        adptr.Fill(tbl);
        DropDownList1.DataSource = tbl;           -->Dropdownlist e verikaynağı belirttik
        DropDownList1.DataTextField = "ad";     -->Görünen Ad
        DropDownList1.DataValueField = "id";   -->Seçim için kullanılacak değer
        DropDownList1.DataBind();                     -->Verileri Dropdownlist e aktardık
    }
 
şeklinde kullanarak çektiğimiz  verilerinizi dropdownlist e aktarmış oluruz. Dropdownlist e bir görünen Text birde görünmeyen arkaplanda kalan Value değeri ataması yaptık, seçime göre bunları kullanacağız. Bunları nasıl kullanacağımızı yazının son kısmında belirteceğim. 
 
Burdaki seçime göre başka bir dropdownlist e veri aktaracaksak veya seçime göre herhangi başka bir işlem yapacaksak bu sefer de ilk Dropdownlist i Design kısmından seçip, sağ taraftan properties penceresinden, SelectedIndexChanged kısmına çirt tıklayarak açılan kod kısmına yazacağımız kod ile dropdownlist deki seçim değiştiğinde yapılmasını istediğimiz işlemi yaptırabiliriz.
 
selected-index-changed
 
SelectedIndexChanged kısmının yanındaki boşluğa çift tıklayarak kod kısmını açtığımızda şu şekilde bir kod kısmı açılacak;
 
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        //Yapılmasını istediğimiz kodlar buraya yazılacak
    }
 
Buradaki {...} ler arasına istediğimiz kodu yazarak dropdownlist in değişikliğini kullanabiliriz

Dropdownlist1 deki seçili veriyi kullanmak için ise aşağıdaki kodları kullanabilirsiniz.
Dropdownlist i doldururken;

        DropDownList1.DataTextField = "ad";     -->Görünen Ad
        DropDownList1.DataValueField = "id";   -->Seçim için kullanılacak değer

şeklinde iki değer ataması yapmıştık. Şimdi seçime göre seçilen Text i almak için
  • DropDownList1.SelectedItem.Text;
  • DropDownList1.SelectedItem.ToString();
komutlarını kullanabiliriz, Seçimin Value değerini almak istersek;
  • DropDownList1.SelectedItem.Value;
  • DropDownList1.SelectedValue.ToString();
Komutlarından birisini kullanabiliriz. Bunların dışında dropdownlist den kaçıncı indexdeki veriyi seçtiğini almak istersek (index sıralamasının 0 dan başladığını unutmayalım)
  • DropDownList1.SelectedIndex.ToString();

komutunu kullanabiliriz.




Diğer Yazılarımdan Seçmeler...