DropDownList DataTextField ve DataValueField

DropDownList DataTextField ve DataValueField hakkında önemli bilgi...

Merhabalar,

Bu dersimizde zaman zaman,dropDownList(DDL) ile ilgili karşımıza çıkan ufak bir sorunu nasıl halledebileceğimizi göstereceğim.

Aşağı yukarı tüm veri tabanlarında uniq olan bir ID vardır ve genelde bu ID üzerinden işlemler yapılır.Çoğunlukla da işlem yapacağımız kaydı da DDL'ten çekerek yaparız.Yani page_Load kısmına DDL doldurma kısmını ekleriz sonra kullanıcıya seçtirip ordan o kaydın üzerinden işlem yaparız.Malumunuz ID den hangi kaydın kime ait olduğunu kestirmek oldukça zor olur,hatta karmaşık ID'ler için imkansız(Çok çılgın bir beyin ve hafıza yapısı yoksa tabi :)).

Bu yüzden bizim bu durumda DDL'te Ad-Soyad ve ya buna benzer rahat ayırt edebileceğimiz bir alanı göstermemiz ama value kısmında da ID yi tutmamız gerekiyor.

Bunu da aşağıdaki şekilde yapabiliriz.Urunler diye bir tablomuz var.ID ve AD,fiyat vs vs şeklinde alanlarımız olsun.DDL'e doldururken ID ve AD alanlarını kullanacağız.Kodlar aşağıdaki gibi olacaktır.DDLKod dropdownList imiz.connection da tabiki Veritabanı için kullanacağımız connection.


DDLKod.Items.Clear();

string cmdQuery = "SELECT ID,AD FROM Urunler ORDER BY AD DESC";

OleDbDataAdapter da = new OleDbDataAdapter(cmdQuery , connection);

DataTable dt = new DataTable();

da.Fill(dt);

DDLKod.DataSource = dt;

DDLKod.DataTextField = "AD";     //DDL'de gözükecek alan adı yazılır.

DDLKod.DataValueField = "ID";   //DDL'de işlem yapılacak alan adı

DDLKod.DataBind();



da.Dispose();

dt.Dispose();


Bunu yazdıktan sonra diyelim ki bir buttona basarak seçilen kaydı sileceksiniz.
Bunun sadece QueryStringiniz yazacam :

Delete from urunler Where ID="+DDLKod.Text;



DDLKod.Text Text değeri alıyor gibi gözüküyor ama biz DataValueField e ID verdiğimiz için ID değeri gelir ;)

Bunu siz kendi amaçlarınız doğrultusunda geliştirebilirsiniz.

İyi çalışmalar...
  • Etiketler;
Murat Karakoyun
İstanbul Üniversitesi Bilgisayar Mühendisliği bölümü mezunu. Şu anda özel bir firmanın Bilgi İşlem ve Yazılım Geliştirme departmanında çalışıyor. Asp.Net (CSharp), MsSQL, HTML, CSS, Photoshop biliyor.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git