GridView Nesnesinde CheckBox İle Seçili Satırı Silme
Bu makalemizde GridView nesnesine Checkbox ekleyip, Seçili olan satırları sileceğiz. Formunuza 1adet Checkbox, GridView, LinkLabel ve SqlDataSource nesnesi ekleyin. İlk önce SqlDataSource ile NorthWind.mdb veritabanındaki Products tablosuna bağlantıyı sağlayacağız. Daha sonra GridView nesnesi seçili iken Add New Column kısmından TemplateField sütununu ekleyin. Başlığını Sec yapın (Şekil1).
Şekil 1
Yine aynı şekilde GridView i seçip, Edit Columns kısından Şekil 2 deki kısmı açın ve Sec sütununu seçip, başta ilk sütun olacak şekilde ayarlayın.
Sayfanın Source kısmına geçerek, Default.aspx.cs de (Şekil 3 te) kırmızı kutu içinde çizilmiş olan kısımları ekleyin. (Delete Command parametreleri eklenir.)
CheckBox ı ItemTemplate arasına eklemeyi unutmayın.
Şekil 2
Şekil 3
Şekil 4
Şekil 5
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
// GridView nesnesindeki satırdaki bilgiler alınıyor
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox checkbox = (CheckBox)row.FindControl("checkSil");
//CheckBox ta Seçili olanlar belirleniyor.
// checkbox.Checked ise Delete Commanp parametresine gönderiliyor.
if (checkbox.Checked)
{
// ProductID No lara erişim sağlanır.
int productID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
//Seçili ProductID No lar silinir.
SqlDataSource1.DeleteParameters["ProductID"].DefaultValue = Convert.ToString(productID);
SqlDataSource1.Delete();
}
}
}
}
//Bir sonraki makalede görüşmek üzere. Bahadır