【问题标题】:How do I delete multiple rows from a GridView using Checkboxes and a Button?如何使用复选框和按钮从 GridView 中删除多行?
【发布时间】:2013-02-21 09:21:48
【问题描述】:

我的代码如下。我没有将我的数据存储在数据库中。我只是从 TextBox 中提取数据,并将其显示在 GridView 中。如何使用复选框和按钮从 GridView 中删除多行? //删除行的代码

ASPX 代码:

 <asp:TemplateField>
 <ItemTemplate>
 <asp:CheckBox ID="chkdelete" runat="server" />
 </ItemTemplate>
 </asp:TemplateField>

C# 代码:

protected void btnDelete_Click(object sender, EventArgs e)
{
    //Loop through all the rows in gridview
    foreach(GridViewRow gvrow in gvUserDetails.Rows)
    {
        //Finiding checkbox control in gridview for particular row
        CheckBox chkdelete = (CheckBox)gvrow.FindControl("chkdelete");
        //Condition to check checkbox selected or not
        if(chkdelete.Checked)
        {
            //code for deleting the row    (What code do I write here?)
        }
    }
} 

【问题讨论】:

    标签: c# asp.net sql-server visual-studio-2010 button


    【解决方案1】:

    您必须基本上删除数据库中的行或您绑定网格视图的任何此类内容。所以删除所有行,创建新的 DataSource 并再次绑定 gridview,它应该像一个魅力一样工作。

    更新:由于您没有使用任何数据库,因此您肯定会有一些数据源用于绑定您的 gridview,因此请修改它并再次绑定 gridview。

    【讨论】:

      【解决方案2】:

      如果 GridView 像 DataGridView 一样工作,那么简单的 GridView.Rows.RemoveAt(index) 应该可以满足您的需求。

      编辑:在这种情况下,您不想执行 foreach,而是执行 for(int loop=GridView.Rows.Count - 1; loop&gt;=0; loop--)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-16
        • 1970-01-01
        • 2013-02-06
        • 1970-01-01
        • 2023-04-09
        • 2014-04-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多