Bileşeni Forma ekledikten Sonra Object Inspectordan “Item” özelliğine tıklayarak Bileşene Elemanları ekleyebilirsiniz.

Yukarıdaki Resimde Görüldüğü gibi ayarları yapıyoruz.
“Add” buttonuna basarak ekleman ekleyebilir “Remove” Buttonuna tılklayarak elemanı silebilir, Ok işaretleri ile de Elemanların sırasını değiştirebilirsiniz. Eklediğiniz elemanın “Selected” özelliğini “True” yaparsanız sayfa açılırken o eleman seçili olarak gelir. Text özelliği Kullanıcının Göreceği değerken Value kısmı Programcının işleyeceği değerdir. DbLookUpComboBox gibi.
“DropDownList1.SelectedValue” şeklinde seçili elemanın değerini alabilirsiniz.
Genellikle üyelik sistemlerinde (Özellikle Yabancı Sitelerde) olan bir olay vardır; size ülkenizi seçmenizi söylerler ve siz ülkenizi seçtiğinizde bir alttaki dropdownliste seçtiğiniz ülkeye ait illerin bulunduğu yeni bir dropdownlist belirir. İşte bu makalemizde bu senaryoyu ASP.NET üzerinde örnekleyeceğiz.
Ancak yapacağımız örneklemede ülkeler ve bu ülkelere ait illeri bulmak zor olacağı için, biz il ve ilçeler üzerinde örnek yapacağız.
Seçilen ile göre içeriği değişecek olan bir dropdownlist i nasıl DataBind edeceğimizi inceleyeceğiz.
Veri Tabanı Yapısı ve Veriler

Projemize iki adet DropDownLsit ekliyoruz. Bunlardan biri, DDLIller diğeri ise DDLIlceler olarak IDlerini değiştiriyoruz.
DDLIller IDli DropDownlistimizin AutoPostBack Propertysini True yapıyoruz, böylece departman seçilir seçilmez, hiç bir butona basmaksızın, sayfamız servera gidecek ve gerekli işlemleri yapıp geri dönecektir.
Event olarak ise, DDLIller IDli DropdownListimizin SelectedIndexChanged Eventini ve Page_Load Eventini kullanacağız.
Aşağıdaki Değişkenleri Global olarak tanımlayın.
Kod: Tümünü seç
var
MyConnect:oleDbConnection;
MyAdapter:oleDbDataAdapter;
MyDataset:DataSet;
Kod: Tümünü seç
procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
//verilemizi bağlıyoruz.(PostBack değilse)
if not (IsPostBack) then
Begin
MyConnect:=sQLConnection.Create('Server=localhost;Database=FatihDB;uid=sa;pwd=;');
MyAdapter:=SQLDataAdapter.Create('Select * From IL',MyConnect);
MyDataset:=Dataset.Create;
MyAdapter.Fill(MyDataset,'IL');
//İller DropdownListinin dataSourcesini Göster
DDLIller.DataSource:=MyDataset.Tables['IL'];
//İller DropdownListte kullanıcının göreceği bölüme İller Alanını göster
DDLIller.DataTextField := 'ADI';
//İller DropdownListte programcının işleyeceği bölüme İl Kodu Alanını göster
DDLIller.DataValueField :='IDNO';
// Gösterilen Alanlarsdaki Değeri DropdownListe Doldur
DDLIller.DataBind;
End;
end;
Kod: Tümünü seç
procedure TWebForm1.DDLIller_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
begin
MyConnect:=sQLConnection.Create('Server=localhost;Database=FatihDB;uid=sa;pwd=;');
MyAdapter:=SQLDataAdapter.Create('Select * From ILCE WHERE IL_IDNO='+#39+DDLIller.SelectedValue+#39,MyConnect);
MyDataset:=Dataset.Create;
MyAdapter.Fill(MyDataset,'ILCE');
DDLIlceler.DataSource:=MyDataset.Tables['ILCE'];
DDLIlceler.DataTextField := 'ADI';
DDLIlceler.DataValueField :='IDNO';
DDLIlceler.DataBind;
end;
Sayfamız ilk kez yüklendiğinde, Oluşturmuş olduğumuzDropDownListe iller Dolduruluyor, IsPostBack ile kontrol edip, sadece sayfa ilk yüklendiğinde çalışmasını sağlıyoruz.
Eğer IsPostBack kontrolünü yapmasaydık, sayfa her servera gidip geldiğinde, DropDownList tekrar DataBind olacaktı ve buda DropDownList deki verilerin sürekli tekrar etmesine yol açacaktı.
IsPostBack şartı kontrol edildikten sonra, veritabanımıza bağlantı kurup IL isimli tablodan IDNO ve Adi fieldlerini DataAdapter sayesinde bir DataSet e atıyoruz.
DDLIller isimli dropDownList imizin DataSource u nu, oluşturduğumuz DataSet olarak belirleyip, DDLIller a ait TextField ve Valuefield alanlarını tanımlıyoruz. Ve en sonunda DataBind ediyoruz.
Böylelikle sayfamız açılmış ve ilk dropdownlistimizde, yani DDLIller da veritabanımızda kayıtlı olan tüm İller listelenmiştir. DDLIller nesnemizin AutoPostBack propertysini True olduğu için, bu DropDownList deki seçilen Maddenin değişmesi durumunda, sayfa hemen servera gidecek ve SelectedIndexChanged Eventi çalışacaktır.
SelectedIndexChanged eventinde ise Page_LOad olayında olduğu gibi, veritabanı bağlantısı kurulup, DDLIller nesnesinden seçilen departmana bağlı olarak gerekli personel verileri çekilip bir DataSet atılmaktadır.
Bu sefer DDLIlceler isimli DropDownList in DataSource, DataTextField ve DataValueField Propertyleri tanımlanıp, DataBind Edilmekte.
Sonuç olarak, seçilen departmana bağlı bir şekilde İlçeler listesi değişmektedir.
Sonuç
