حذف سطر انتخاب شده از Gridview در ASP.Net

یکشنبه 24 مرداد 1395

در این مقاله قصد داریم که نحوه ی حذف کردن سطر انتخاب شده از Gridview در ASP.Net را با یکدیگر بررسی کنیم.در اینجا ما از checkbox داخل GridView برای انتخاب سطر مورد نظر استفاده میکنیم.

حذف سطر انتخاب شده از Gridview در ASP.Net

مرحله اول :

باز کردن Visual Studio 2010 و ساخت Empty Website با نام (Gridview_demo).

مرحله دوم :

اضافه کردن یک صفحه ی web form و یک SQL Database در Solution Explore طبق روند زیر:

برای Web Form :

روی Gridview_demo راست کلیک و گزینه Add New Item -> Web Form را انتخاب میکنیم و نام آن را Gridview_demo.aspx میگذاریم.

برای SQL Server Database :

روی Gridview_demo راست کلیک میکنیم و گزینه Add New Item -> SQL Server Database را انتخاب میکنیم.

 

مرحله سوم :

در  (database (Database.mdf  ما یک table  میسازیم به نام  tbl_Data. 

database.mdf -> Table then Add New table

فراموش نکنید که ID باید به صورت Identity  باشد.

 

 

مرحله چهارم :

حال فایل  Gridview_demo.aspx را باز میکنیم 

Gridview_demo.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>  
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title></title>  
</head>  
<body>  
    <form id="form1" runat="server">  
    <div>  
      
        <table style="width:100%;">  
            <tr>  
                <td>  
                     </td>  
                <td>  
                     </td>  
                <td>  
                     </td>  
            </tr>  
            <tr>  
                <td>  
                     </td>  
                <td>  
                    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"   
                        DataKeyNames="id">  
                        <Columns>  
                            <asp:TemplateField HeaderText="Student_ID">  
                                <EditItemTemplate>  
                                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("id") %>'></asp:TextBox>  
                                </EditItemTemplate>  
                                <ItemTemplate>  
                                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("id") %>'></asp:Label>  
                                </ItemTemplate>  
                            </asp:TemplateField>  
                            <asp:TemplateField HeaderText="Student_Name">  
                                <EditItemTemplate>  
                                    <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("name") %>'></asp:TextBox>  
                                </EditItemTemplate>  
                                <ItemTemplate>  
                                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("name") %>'></asp:Label>  
                                </ItemTemplate>  
                            </asp:TemplateField>  
                            <asp:TemplateField HeaderText="Student_City">  
                                <EditItemTemplate>  
                                    <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("city") %>'></asp:TextBox>  
                                </EditItemTemplate>  
                                <ItemTemplate>  
                                    <asp:Label ID="Label3" runat="server" Text='<%# Bind("city") %>'></asp:Label>  
                                </ItemTemplate>  
                            </asp:TemplateField>  
                            <asp:TemplateField>  
                                <EditItemTemplate>  
                                    <asp:CheckBox ID="CheckBox1" runat="server" />  
                                </EditItemTemplate>  
                                <ItemTemplate>  
                                    <asp:CheckBox ID="CheckBox1" runat="server" />  
                                </ItemTemplate>  
                            </asp:TemplateField>  
                        </Columns>  
                    </asp:GridView>  
                </td>  
                <td>  
                     </td>  
            </tr>  
            <tr>  
                <td>  
                     </td>  
                <td>  
                    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />  
                </td>  
                <td>  
                     </td>  
            </tr>  
        </table>  
      
    </div>  
    </form>  
</body>  
</html>  

 

برای وارد کردن checkbox  در GridView  روی دکمه arrow  از GridView  کلیک میکنیم

در پنجره ی جدید  Checkbox Fields را از Available Fields انتخاب میکنیم.

 

 

طراحی GridView به صورت زیر خواهد شد.

 

مرحله پنجم:

باز کردن Gridview_demo.aspx.cs و نوشتن کد:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
using System.Data;  
using System.Data.SqlClient;  
  
public partial class _Default : System.Web.UI.Page  
{  
  
    SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True");  
    protected void Page_Load(object sender, EventArgs e)  
    {  
        if (!Page.IsPostBack)  
        {  
            refreshdata();  
        }  
    }  
  
    public void refreshdata()  
    {  
  
         
        SqlCommand cmd = new SqlCommand("select * from tbl_data", con);  
        SqlDataAdapter sda = new SqlDataAdapter(cmd);  
        DataTable dt = new DataTable();  
        sda.Fill(dt);  
        GridView1.DataSource = dt;  
        GridView1.DataBind();     
      
    }  
  
   protected void Button1_Click(object sender, EventArgs e)  
    {  
          
        foreach (GridViewRow gvrow in GridView1.Rows)  
        {  
              
            CheckBox chck = gvrow.FindControl("CheckBox1") as CheckBox;  
            if (chck.Checked)  
            {  
                var Label = gvrow.FindControl("Label1") as Label;  
  
               SqlCommand cmd = new SqlCommand("delete from tbl_data where id=@id",con);  
               cmd.Parameters.AddWithValue("id", int.Parse(Label.Text));  
                con.Open();  
                int id = cmd.ExecuteNonQuery();  
                con.Close();  
                refreshdata();  
  
                 
            }  
        }        
         
  
    }  
}

 

خروجی

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید