删除数据网格视图中的行

本文关键字:视图 网格 数据 数据网 删除 | 更新日期: 2023-09-27 17:56:33

我想删除更新面板中网格视图中的一行。但是我没有使用命令按钮.,而是使用链接按钮来获取确认消息。现在,如果我按确定,则应删除该记录(从db和frm girdview中删除)。我知道如何从数据库中删除,但在按下链接按钮时不知道,并删除记录。而且网格视图也在更新中 panel.so 它应该被反映。

感谢示例代码。

谢谢

删除数据网格视图中的行

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Delete")
    {
        GridViewRow row = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
        String productId = row.Cells[0].Text; // I suposed your product Id in very first column in gridview
        //Delete Code goes here..........
        ...........................
    }
}

您可以使用网格视图RowCommand事件,例如...

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Delete")
    {            
        e.CommandArgument  -- this return Data Key Value
//Deletion Code goes here.....
var brochureToDelete = (from b in dataContext.ArticleBrochures where b.ArticleId == ArticleId select b).FirstOrDefault(); 
if (brochureToDelete != null) 
{ 
dataContext.ArticleBrochures.DeleteOnSubmit(brochureToDelete);
dataContext.SubmitChanges(); 
bindBrochureGridView(ArticleId);
// if your gridview in updatepanel
//Call update method of UpdatePanel
//UpdatePanel.Update();
 }
}

设置PK_ID以链接按钮的命令参数,如下所示

<asp:LinkButton runat="server" ID="btn_manage" Text="Delete" CommandArgument='<%#Eval("PK_ID") %>'
                                OnCommand="btn_manage_click">
</asp:LinkButton>

并在事件上访问此PK_ID

protected void btn_manage_click(object sender, CommandEventArgs e)
{
    string ID = e.CommandArgument.ToString();
    //you delete code and gridview bind code
}

绑定链接按钮 ID 作为主键。在客户端单击链接按钮时,将该 ID 保存在隐藏字段中。此隐藏字段值将是要删除的行的 id。

然后在服务器上单击链接按钮删除与隐藏字段值对应的行

我假设您有一个发送删除查询的方法。

创建一个RowDeleting事件处理程序,使用 e.RowIndex 将行索引传递给 delete 方法。

使用此e.RowIndex编写查询以删除表的第 n 行。 ,然后将数据绑定到 gridView。