none
GridView Checkbox Seçili Satır Silme RRS feed

  • Genel Tartışma

  • Merhaba arkadaşlar Gridview'de checkbox seçtiğimde seçili satırı silmek istiyorum.Aşağıda kodu paylaşıyorum. Linq to Sql ve Procedure ile database işlemleri yapıyorum. Yardım olur musunuz.

    protected void btnSec_Click(object sender, EventArgs e)
            {
                string silinecekler = "";
               foreach (GridViewRow satirbilgi in GridView1.Rows)
               {
                   CheckBox chk = (CheckBox)satirbilgi.FindControl("chcksec");
                   if (chk != null & chk.Checked)
                   {
                       silinecekler += satirbilgi.Cells[3].Text+",";
                   }
              }
               using (DataClasses1DataContext krm = new DataClasses1DataContext())
               {
                   Kategoriler kat = krm.Kategorilers.SingleOrDefault(x => x.ID == Convert.ToInt32(silinecekler.Remove(silinecekler.Length -1,1)));
                   krm.Kategorilers.DeleteOnSubmit(kat);
                   krm.SubmitChanges();
               }
               get();

            }

    30 Ağustos 2015 Pazar 17:41

Tüm Yanıtlar

  • Arkadaşlar yazdığım kodda break point ile baktığımda checkbox true koşulunu görmüyor.Bu neden olabilir.
    30 Ağustos 2015 Pazar 20:35
  • Muhtemel iki sebep 

    1- FindControl metodunda yanlış isim verdin. Sadece tahmin olarak söylüyorum checkbox lar için chck değil de chk öneki kullanmış olabilirsin.

    2- if içinde & değil de && kullanman gerekir. & ile && farklı anlamlardadır. & iki değerin birleri arasında VE işlemi uygularken && koşullar arasında VE anlamı taşır

    31 Ağustos 2015 Pazartesi 06:28
  • GridView ve Buton click kodlarım aşağıda. Dediğiniz gibi yaptım yine olmadı. Baktığım zaman ne olabilir düşünüyorum.

    <Columns>
                    <asp:CommandField ShowSelectButton="True" />
                    <asp:CommandField ShowEditButton="True" />
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:CheckBox ID="chcksec" runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>

     protected void btnSec_Click(object sender, EventArgs e)
            {
                string silinecekler = "";
                foreach (GridViewRow satirbilgi in GridView1.Rows)
                {
                    CheckBox chk = (CheckBox)satirbilgi.FindControl("chcksec");
                    if (chk != null && chk.Checked)
                    {
                        silinecekler += satirbilgi.Cells[3].Text;
                        TextBox1.Text = silinecekler;
                     
                    }


                }
              
                
            }

    31 Ağustos 2015 Pazartesi 09:14