Home / C# / Checkbox ve CheckBoxList Kullanımı

Checkbox ve CheckBoxList Kullanımı

C# ve türevli Asp.NET projelerimizde birçok durumda kontrollere ihtiyaç duymaktayız. Bazı kullanım senaryoları şöyle olabilir.

  1. Doğru-Yanlış durumlar (Ör: Öğrenci misiniz? Evet-Hayır)
  2. Birden fazla seçim yapmak (Ör: Hobileriniz nelerdir? Futbol-Voleybol-Basketbol)
  3. Gelen durumları tekli sonuca ayırmak (Ör: Yaşınız aşağıdakilerden hangisidir? 25-26-27-28)

CheckBox

Genel olarak statik olarak eklediğimiz bir yapıdır. Son kullanıcıya bool seçim yaptırmak için kullanıyoruz. Örnek verecek olursak “SMS bilgi almak ister misiniz?” gibi. İki sonuçtan birini seçtirebileceğimiz bir kontroldür.

CheckBox Kullanımı

Sayfamıza Visual Toolbox üzerinden veriyi çekip sayfamızda istediğimiz kod aralığına ekliyoruz. Kodlarımız söyle;

<asp:checkbox id="CheckBox1" runat="server" oncheckedchanged="CheckBox1_CheckedChanged"></asp:checkbox>

CheckBox kontrolü için Checked_Changed() eventini Code-Behind(.cs)’da su şekilde kullanıyoruz.

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
    // Sizin fonksiyonal kodlariniz
    if (CheckBox1.Checked)
        CheckBox1.Checked = false;
    else
        CheckBox1.Checked = true;
}

CheckBoxList

Son kullanıcıya çoklu seçim yaptırmak, veya çok seçim içerisinden bir seçim yaptırmak istersek bu yapıyı kullanmamız gerekebilir.

CheckBoxList Kullanımı

Sayfamıza Visual Toolbox’dan istediğimiz kod kısmına söyle ekliyoruz

<asp:CheckBoxList ID="CheckBoxList1" runat="server" OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged"></asp:CheckBoxList>

CheckBoxList kontrolünü Code-Behind kısmına şu şekilde kullanıyoruz

protected void Page_Load(object sender, EventArgs e)
{
    Doldur();
}
private void Doldur()
{
    ListItem item = new ListItem();
    item.Text = "Deneme 1";
    item.Value = "1";
    // döngü veya manual
    CheckBoxList1.Items.Add(item);
}

Checkbox üzerinde yapılan seçimleri alalım, aşağıdaki kodlar basit bir string üzerine veya daha işlevsel List üzerine aktaralım,

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
    // Bir string üzerine alalim
    string Secilen = string.Empty;
    for(int i=0; i < CheckBoxList1.Items.Count; i++)
    {
        if (CheckBoxList1.Items[i].Selected)
        {
            Secilen += CheckBoxList1.Items[i].Value +",";
        }
    }

    //Bir List üzerine alalim
    List<ListItem> selected = new List<ListItem>();
    foreach (ListItem item in CheckBoxList1.Items)
        if (item.Selected) selected.Add(item);
}

Bazen CheckBoxList’den seçilen ilk öge için işlem gerekebilir, bu durumda:

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
    string Secilen = string.Empty;
    string Aktar = Request.Form["__EVENTTARGET"];
    string[] GelAyrac = Aktar.Split('$');
    int basla = int.Parse(GelAyrac[GelAyrac.Length - 1]);
    if (CheckBoxList1.Items[basla].Selected)
    {
         Secilen = CheckBoxList1.Items[basla].Value;
        // seçili olan öge işlemleri
    }
    else
    {
        Secilen = CheckBoxList1.Items[basla].Value;
        // seçili olmayan öge işlemleri
    }
}

Bu eleman hakkında farklı ihtiyaçlar olursa, yorum olarak eklerseniz bu konu üzerine eklerim.

Etiketlendi:

Cevap bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir