Son Haberler
Anasayfa / Yazılım / ASP.NET / DropDownList ve ListBox Kontrollerinin Kullanımı

DropDownList ve ListBox Kontrollerinin Kullanımı

Bu yazımızda çok sık kullanılan kontrollerden DropDownList kontrolü ve ListBox kontrolüne değineceğim. Bu kontrolleri kullanarak bir form tasarlayalım. Bunun için öncelikle boş bir ASP Web projesi açalım. Daha sonra bir WEB form ekleyelim.WEB formumuzun design alanına aşağıdaki kontrolleri ekleyeceğiz. Öncelikle 10 satır 3 sütundan oluşan bir table ekliyorum.

  • Adı Soyadı yazmak için bir adet TextBox kontrolü, ismini txtAdSoyad vereceğim. Width : 200
  • Doğum Yılını seçmek için bir adet Drop Down List kontrolü kullanacağım. Adını da ddlYillar vereceğim. Width : 200
  • Yaşı yazmak için bir adet TextBox kontrolü kullanacağım, ismini txtYas vereceğim. Width : 50, Max Length : 2 çünkü maksimum 2 karakterden oluşan veri girilsin çünkü yaş bilgisi girilecek buraya.
  • Doğum Yeri yazmak için bir adet TextBox kontrolü kullanacağım, ismini txtDogumYeri vereceğim. Width : 200,
  • Cinsiyeti seçmek için bir adet Drop Down List kontrolü kullanacağım, adını da ddlCinsiyet vereceğim. Width : 200
  • Medeni hali tanımlamak için bir adet Drop Down List kontrolü kullanacağım, adını da ddlMedeniHal vereceğim. Width : 200
  • Bir adet buton kontrolü ekliyorum, özellikleri Name : btnGonder , Text : Gönder, Width : 200
  • Bir adette listBox kontrolü ekliyorum. Name : lbBilgi, width : 750, Height : 300
  • Daha sonra Cinsiyet ve Medeni Hal için kullanmış olduğum DropDownList kontrollerine verileri elle giriyorum. Bunun için öncelikle Cinsiyet bilgisini alacadağım DropDownList kontrolünü seçiyorum. Sağda yer alan oka tıklıyorum.

    Daha sonra Edit Items diyoruz.

    Daha sonra açılan pencereden, ADD diyoruz, ve sağda yer alan text alanına Bay giriyoruz. Sonra tekrar ADD diyoruz, sağda yer alan pencerede Text alanına Bayan diyoruz. İki veri girildikten sonra OK diyoruz.

    WEB formumuza dönüp bu sefer Medeni Hal için kullanılan DropDownList kontrolümüzü seçiyoruz. Bunu resmetmiyorum aynı şekilde yanındaki oka tıklıyoruz, Edit Items diyoruz ve açılan pencerede ADD diyerek Evli verisini sağda yer alan Text alanına giriyoruz. Tekrar ADD deyip sağda yer alan Text alanına bu sefer Bekar yazıyoruz. İki veriyi de girdikten sonra OK deyip ekleme işini tamamlıyoruz.

    Evet, tasarımımız bitti, tasarımımız aşağıdaki şekilde :

    Tasarım alanımın tüm kodları aşağıdaki gibi,

    Default.aspx :

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    
    
    
    
    
        
        
    
    
       
        
    Adı Soyad :
    Doğum Yılı :
    Yaş :
    Doğum Yeri :
    Cinsiyet : Bay Bayan
    Medeni Hal : Evli Bekar
       
         
       
         

    Şimdi kodlama kısmına geçebiliriz. Öncelikle yapmak istediğim şu sayfam yüklendiği andan itibaren Yılların listeleneceği DropDownList kontrolüne 1960 yılından günümüzde 18 yaşında olan birine kadar yıl bilgilerinin eklenmesi. Bunu yapacağım alan Page_Load alanıdır. Çünkü isteğim sayfa yüklendiği andadır.

    Buraya bir for döngüsü oluşturuyorum ve şimdiki yaşı 18 olan birinin yıl bilgisine kadar bu döngümü birer birer arttırarak yazdırıyorum.

      protected void Page_Load(object sender, EventArgs e)
        {
            //DateTime.Now.Year diyerek şu andaki sistem takvimimdeki güncel yıl bilgisini alıyorum, böylece dinamik bir kod yapısı kullanmış oluyorum.
            for (int i = 1960; i <= DateTime.Now.Year; i++)
            {
                ddlYillar.Items.Add(i.ToString());
            }
        }

    Şimdi de form uygulamam çalıştığında kişi bilgileri girildikten sonra butona basılacak ve bu bilgiler listboxa eklenecek.

     protected void Button1_Click(object sender, EventArgs e)
        {
            //ListBoxa bilgileri ekliyorum. DropDownListler için seçilen öğenin text değerini alıyorum.
            lbBilgi.Items.Add("Adı Soyadı : " + txtAdSoyad.Text + " Doğum Yılı: " + ddlYillar.SelectedItem.Text + " Yaşı: " + txtYas.Text + " Doğum Yeri: " + txtDogumYeri.Text + " Cinsiyeti: " + ddlCinsiyet.SelectedItem.Text + " Medeni Hali: " + ddlMedeniHal.SelectedItem.Text);
        }

    Tüm kodlar, default.aspx.cs :

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //DateTime.Now.Year diyerek şu andaki sistem takvimimdeki güncel yıl bilgisini alıyorum, böylece dinamik bir kod yapısı kullanmış oluyorum.
            for (int i = 1960; i <= DateTime.Now.Year; i++)
            {
                ddlYillar.Items.Add(i.ToString());
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            //ListBoxa bilgileri ekliyorum. DropDownListler için seçilen öğenin text değerini alıyorum.
            lbBilgi.Items.Add("Adı Soyadı : " + txtAdSoyad.Text + " Doğum Yılı: " + ddlYillar.SelectedItem.Text + " Yaşı: " + txtYas.Text + " Doğum Yeri: " + txtDogumYeri.Text + " Cinsiyeti: " + ddlCinsiyet.SelectedItem.Text + " Medeni Hali: " + ddlMedeniHal.SelectedItem.Text);
        }
    }

    ve uygulamamız çalışır :

    Uygulamayı aşağıdaki linkten indirebilirsiniz.

    8 yorum

    1. Sorunuz var ise buradan yöneltebilirsiniz. Diğer konular hakkında ise gursoyismail@yahoo.com adresine mail atabilirsiniz.

    2. ayın 30unde sınavımız var emailden bize yardımcı olurmusunuz ismail bey? şu gençlerin yüzünü güldürün 😀 şimdiden teşekkür ediyorummmmmm 😀

    3. İyi günler,
      Hocam iki tane tablom var birisinde kategoriler var yapısı söyle id, cat_name digeri haber o da söyle id, news_name, cat_id, benim istegim ikisini ortak bir dropdown da kullanabilirmiyim Text kısmı Kategori isimleri olsun kategori tablosundan gelsin valueside haberin içindeki cat_id gelsin bu mümkünmü mümkünse nasıl yaparım .net te şimdi teşekkürler…

    4. Hocam ben asp.net te bir dropdown listten sınıf ve şube bilgilerini çektiriyorum. Sınıf olarak 4,5,6,7,8 seçenekleri var bunlardan birini seçtiğinde de altında A,B,C,D,E,F gibi şube seçenekleri çıkıyor. Dinamik bir sayfa yapısı ve sınıfı seçmedikçe şube alanı görünmüyor. Bunlarda bir sıkıntı yok. Fakat seçilip kaydedildikten sonra sql bu alanların ikisi de 0 olarak görünüyor. Şubeyi çağırdığım javascript alanı:
      var handleSubeGetir = function () {
      $(“#DDL_sinif”).change(function () {

      $(“#cntContent_Div11”).addClass(“hidden”);
      $(“#DDL_sube”).val(‘-1’);
      var sinifID = $(this).val();
      if (sinifID > 0) {
      $(“#cntContent_Div11”).removeClass(“hidden”);
      $(“#DDL_sube”).val(‘-1’);

      var islem = $.ajax({
      url: “/modul/ogrenci/ekle/data.aspx?islem=subegetir&sinif=” + sinifID,
      type: “GET”,
      data: {},
      dataType: “json”,
      success: function (data) {
      if (data.durum) {
      $(“#DDL_sube”).html(data.liste1);
      if ($(“#hdnTakipID”).val() > 0) {
      $(“#DDL_sube”).val($(“#hdnSubeID”).val());
      $(“#DDl_sube”).trigger(“change”);
      }
      }
      else
      $(“#DDL_sube”).val(“-1”);
      }
      });
      }

      else {
      $(“#cntContent_Div11”).addClass(“hidden”);
      var subeID = $(this).val();
      $(“#hdnSubeID”).val(subeID);
      }
      });

      $(“#DDL_sube”).change(function () {
      var subeID = $(this).val();
      });
      }

      Burası şubeyi vertabanından çektirdiğim alan:

      public List SubeYukle(int ID)
      {
      string sql = “SELECT subeID,sube FROM Sube WHERE sinifID=” + ID + ” GROUP BY subeID,sube ORDER BY sube ASC”;
      var dt = db.SQLCalistirDT(sql);
      return Helper.DataTableToList(dt);
      }

      Burası butona tıkladığımda kaydettirdiğim alan:

      protected void btnKaydet_Click(object sender, EventArgs e)
      {
      kayit.kurum = int.Parse(ddl_Kurum.SelectedValue);
      kayit.TC = Txt_tc.Text;
      kayit.adi = Txt_Adi.Text;
      kayit.soyadi = Txt_Soyadi.Text;
      kayit.D_Tarih = txt_DogumTarihi.Text;
      kayit.Okul_Turu = int.Parse(DDL_Tur.SelectedValue);
      kayit.Okul_Adi = Txt_Okul.Text;
      kayit.sinifID = int.Parse(DDL_sinif.SelectedValue);
      kayit.subeID = int.Parse(hdnSubeID.Value);
      kayit.okul_no = int.Parse(Txt_No.Text);
      if (id > 0)
      {
      kayit.ID = this.id;
      fKayit.KayitGuncelle(kayit);

      }
      else
      {
      fKayit.Ekle(kayit);
      }

      Response.Redirect(“/yonetim/kullanici/Default.aspx”);

      }

      Yardımcı olabilirseniz çok sevinirim.

    5. yararlı bir proje

    6. güzel olmuş ama daha anlaşılır olabilirdi

    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir