Yazı Font Küçült Yazı Font Büyült

GridView Nesnesinde Seçili CheckBox Satırlarının Silinmesi

 

Merhaba arkadaşlar bu makalemizde GridView nesnesinde seçili CheckBox taki satırları sileceğiz. Sayfamıza ilk önce GridView ve SqlDataSource ekleyin. Şekil 1 deki Advenced butonuna tıklayarak, Generate INSERT, UPDATE, and DELETE statements i seçiniz.

Sonra datasource nizi GridView a bağlayın.


Resim1

Şekil 1


Resim2

Şekil 2


Şimdi GridView nesnesine CheckBox ekleyeceğiz. Gridview nesnesinin Columns kısmına,

TemplateField ekleyeceğiz. TemplateField içindeki ItemTemplate içine CheckBox ı yerleştiriyoruz.

 

<asp:TemplateField>

 <ItemTemplate>

 <asp:CheckBox ID="Sec" runat="server"/>

 </ItemTemplate>

 </asp:TemplateField>



 

Şimdi silme işlemini gerçekleştirmeden önce küçük bir Javascript kodu ekleyeceğiz. Javascript kodu ile silme işleminden önce onay penceresi karşımıza gelecek (Şekil 3).


Resim3

Şekil 3


Tamam butonuna tıkladığımızda silme işlemini gerçekleştireceğiz (Şekil 4).


Resim4

Şekil 4 

 

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)

    {

 

    }

    protected void btnDelete_Click(object sender, EventArgs e)

    {

        foreach (GridViewRow row in GridView1.Rows)

        {

            //satirdaki cbox okutuluyor.

            CheckBox cbox = row.FindControl("Sec") as CheckBox;

 

            //eger satirdaki cbox işaretlenmiş ise,

            if (cbox.Checked == true)

            {       

                //satira ait anahtar degeri buluyoruz.

                int id = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);

                SqlDataSource1.DeleteParameters["ID"].DefaultValue = id.ToString();

                //satırı siliyoruz.

                SqlDataSource1.Delete();

            }

 

        }

 

    }

}

 

Default.aspx

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!DOCTYPE html>

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>GridViev select checkBox delete</title>

 

    <script language="javascript" type="text/javascript">

 

        function Sil()

        {

            var onay=confirm('Seçili olan kayıtlar silinsin mi?');

            if (onay)

            {

                return true ;

            }

            else

            {

                return false ;

            }

        }

        </script>

 

</head>

<body>

    <form id="form1" runat="server">

    <div>

   

        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1" CellPadding="4" ForeColor="#333333" GridLines="None">

            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />

            <Columns>

                <asp:TemplateField>

                <ItemTemplate>

                 <asp:CheckBox ID="Sec" runat="server"/>

                </ItemTemplate>

              </asp:TemplateField>

 

 

                <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />

                <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />

                <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />

                <asp:BoundField DataField="JobTitle" HeaderText="JobTitle" SortExpression="JobTitle" />

                <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />

                <asp:BoundField DataField="CountryRegion" HeaderText="CountryRegion" SortExpression="CountryRegion" />

            </Columns>

            <EditRowStyle BackColor="#999999" />

            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />

            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />

            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />

            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />

            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />

            <SortedAscendingCellStyle BackColor="#E9E7E2" />

            <SortedAscendingHeaderStyle BackColor="#506C8C" />

            <SortedDescendingCellStyle BackColor="#FFFDF8" />

            <SortedDescendingHeaderStyle BackColor="#6F8DAE" />

        </asp:GridView>

        <asp:Button ID="btnDelete" runat="server" OnClick="btnDelete_Click" Text="Seçili Kayıtları Sil" Width="118px" OnClientClick="return Sil()"/>

        <br />

        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" DeleteCommand="DELETE FROM [Customers] WHERE [ID] = ?" InsertCommand="INSERT INTO [Customers] ([ID], [LastName], [FirstName], [JobTitle], [City], [CountryRegion]) VALUES (?, ?, ?, ?, ?, ?)" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT [ID], [LastName], [FirstName], [JobTitle], [City], [CountryRegion] FROM [Customers]" UpdateCommand="UPDATE [Customers] SET [LastName] = ?, [FirstName] = ?, [JobTitle] = ?, [City] = ?, [CountryRegion] = ? WHERE [ID] = ?">

            <DeleteParameters>

                <asp:Parameter Name="ID" Type="Int32" />

            </DeleteParameters>

            <InsertParameters>

                <asp:Parameter Name="ID" Type="Int32" />

                <asp:Parameter Name="LastName" Type="String" />

                <asp:Parameter Name="FirstName" Type="String" />

                <asp:Parameter Name="JobTitle" Type="String" />

                <asp:Parameter Name="City" Type="String" />

                <asp:Parameter Name="CountryRegion" Type="String" />

            </InsertParameters>

            <UpdateParameters>

                <asp:Parameter Name="LastName" Type="String" />

                <asp:Parameter Name="FirstName" Type="String" />

                <asp:Parameter Name="JobTitle" Type="String" />

                <asp:Parameter Name="City" Type="String" />

                <asp:Parameter Name="CountryRegion" Type="String" />

                <asp:Parameter Name="ID" Type="Int32" />

            </UpdateParameters>

        </asp:SqlDataSource>

   

    </div>

    </form>

</body>

</html>

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN