none
Repeater İçindeki CheckBox'a Erişme RRS feed

  • Genel Tartışma

  • İç içe Repetar kullandım. 

    İçteki Repeater'de CheckBoxlar var. 

    Bir Buton koyup Repeaterin içindeki Controlslerden Checkbox'a ulaşmak istiyorum ama olmuyor ? 

    ArrayList itemCheked = new ArrayList();
            for (int i = 0; i < rp_alt_tur.Controls.Count; i++)
            {           
                if (rp_alt_tur.Controls[i] is CheckBox)
                {
                    CheckBox chk = (CheckBox)rpt_giyim.Controls[i];
                    if (chk.Checked)
                    {
                        itemCheked.Add(chk.Text);
                    }
                }
            }

    Not: Butondan başka yollarda önerebilirsiniz. İtemCommand ile de yapamadım...


    17 Nisan 2017 Pazartesi 16:11

Tüm Yanıtlar

  • if (rp_alt_tur.Controls[i] is CheckBox) { CheckBox chk = (CheckBox)rpt_giyim.Controls[i]; if (chk.Checked) { itemCheked.Add(chk.Text); } }

    if satırında rp_alt_tur.Controls[i] kontrolü CheckBox türünde mi kontrol edip

    hemen sonrasında rpt_giyim.Controls[i] kontrolünü CheckBox olarak alıyorsunuz.

    Burada hata olmalı...

    18 Nisan 2017 Salı 15:40
  •  foreach (System.Windows.Forms.Control XEleman in XControl.Controls)
                {
                    if (XEleman is System.Windows.Forms.CheckBox)
                    {
                        if (XEleman.Checked){ yapacagın işlemin}

                     }        
                }

    Bu şekilde yapabilirsin. ama böyle adını veya hangisinin checked oldugunu bilemezsin checkbox'larına isim vermedinmi o şekilde daha rahat ulaşırsın.

    18 Nisan 2017 Salı 21:00
  •  foreach (System.Windows.Forms.Control XEleman in XControl.Controls)
                {
                    if (XEleman is System.Windows.Forms.CheckBox)
                    {
                        if (XEleman.Checked){ yapacagın işlemin}

                     }        
                }

    Bu şekilde yapabilirsin. ama böyle adını veya hangisinin checked oldugunu bilemezsin checkbox'larına isim vermedinmi o şekilde daha rahat ulaşırsın.

    Hocam XControl ' ü repeaterin adı ile değiştirdikten sonra windowsun altınız cizdi...
    20 Nisan 2017 Perşembe 15:41
  • if (rp_alt_tur.Controls[i] is CheckBox) { CheckBox chk = (CheckBox)rpt_giyim.Controls[i]; if (chk.Checked) { itemCheked.Add(chk.Text); } }

    if satırında rp_alt_tur.Controls[i] kontrolü CheckBox türünde mi kontrol edip

    hemen sonrasında rpt_giyim.Controls[i] kontrolünü CheckBox olarak alıyorsunuz.

    Burada hata olmalı...

    Düzelttim hocam ama nedense zaten checkboxları bir control olarak görmüyor... 

    11 checkbox var for 2 defa dönüyor...

    20 Nisan 2017 Perşembe 15:45
  • Repeater.Controls repeater'ın item kolleksiyonunu barındırır.

    Siz CheckBox'lara erişmek için;

    Repeater.Controls[i].FindControl("Buraya CheckBox ID yazılacak")

    kullanmalısınız...

    20 Nisan 2017 Perşembe 19:10
  • Repeater.Controls repeater'ın item kolleksiyonunu barındırır.

    Siz CheckBox'lara erişmek için;

    Repeater.Controls[i].FindControl("Buraya CheckBox ID yazılacak")

    kullanmalısınız...

    Hocam bana iç içe repeaterin olduğu, itemleri kontrol ettirecek bir döngü örneği atabilir misiniz? 


    21 Nisan 2017 Cuma 12:46
  • Kendi örneğinizden yola çıkarsak;

    ArrayList checkedItems = new ArrayList();

    Control fControl;

    CheckBox cBox; foreach (Control ctrl in rp_alt_tur.Controls) {

    fControl = ctrl.FindControl("chkBox"); //chkBox rpt_alt_tur içindeki ChekBox'ın ID

    if (fControl is CheckBox) {

    cBox = (CheckBox)fControl;

    if (cBox.Checked)

    checkedItems.Add(cBox.Text);

    } }

    21 Nisan 2017 Cuma 13:03
  • Kendi örneğinizden yola çıkarsak;

    ArrayList checkedItems = new ArrayList();

    Control fControl;

    CheckBox cBox; foreach (Control ctrl in rp_alt_tur.Controls) {

    fControl = ctrl.FindControl("chkBox"); //chkBox rpt_alt_tur içindeki ChekBox'ın ID

    if (fControl is CheckBox) {

    cBox = (CheckBox)fControl;

    if (cBox.Checked)

    checkedItems.Add(cBox.Text);

    } }

    Hocam nedense son 2 eleman için dönüyor döngü sadece resim ile anlatayım. 

    http://i.hizliresim.com/W0RdX4.png

    1.En foreach en alttaki alt eşofman ve üst eşofman için dönüyor. 

    2. hocam birde isPostBack kullandığımda "nesne başvurusu bir nesnenin örneğine ayarlanmadı" hatasını alıyorum döngü dönmeden... Buton ile o chekedları çekmem için ispostback kullanmam lazım, veya başka bir öneriniz var mı ? 
    • Düzenleyen benna21 22 Nisan 2017 Cumartesi 13:55
    22 Nisan 2017 Cumartesi 13:48
  • ArrayList checkedItems = new ArrayList(); // Bu kısım IsPostBack'in dışında kalsın;

    if (IsPostBack)

    {

    Control rptControl;

    Control fControl;

    CheckBox cBox;

    foreach (Control giyim in rpt_giyim.Controls)

    {

    rptControl = giyim.FindControl("rpt_alt_tur");

    if (rptControl is Repeater)

    { foreach (Control ctrl in rptControl.Controls) {

    fControl = ctrl.FindControl("chkBox"); //chkBox rpt_alt_tur içindeki ChekBox'ın ID

    if (fControl is CheckBox) {

    cBox = (CheckBox)fControl;

    if (cBox.Checked)

    checkedItems.Add(cBox.Text);

    } }

    }

    }

    }



    22 Nisan 2017 Cumartesi 14:19
  • ArrayList checkedItems = new ArrayList(); // Bu kısım IsPostBack'in dışında kalsın;

    if (IsPostBack)

    {

    Control rptControl;

    Control fControl;

    CheckBox cBox;

    foreach (Control giyim in rpt_giyim.Controls)

    {

    rptControl = giyim.FindControl("rpt_alt_tur");

    if (rptControl is Repeater)

    { foreach (Control ctrl in rptControl.Controls) {

    fControl = ctrl.FindControl("chkBox"); //chkBox rpt_alt_tur içindeki ChekBox'ın ID

    if (fControl is CheckBox) {

    cBox = (CheckBox)fControl;

    if (cBox.Checked)

    checkedItems.Add(cBox.Text);

    } }

    }

    }

    }



    Hocam acaba şu konuda yardımcı olur musunuz ? 

    https://social.msdn.microsoft.com/Forums/tr-TR/ec883c84-bd54-4dd2-9df4-63742802f81d/veriyi-diziye-ekleyemiyorum?forum=csharptr 

    Enteresan bir hata alıyorum.

    28 Nisan 2017 Cuma 14:01
  •  

    "Yanıt olarak işaretler" misiniz.?.


    28 Nisan 2017 Cuma 14:14