删除数据网格视图中的行

时间:2011-05-17 08:23:45

标签: c# asp.net ajax gridview

我想删除更新面板中Gridview中的一行。但是,我没有使用命令按钮,而是使用链接按钮来获取确认消息。现在,如果我按下确定,则应删除记录(来自db和frm girdview)。我知道如何从db中删除但不按下linkbutton时删除记录。并且gridview也在更新面板中。因此应该反映出来。

示例代码表示赞赏。

由于

5 个答案:

答案 0 :(得分:3)

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..........
        ...........................
    }
}

答案 1 :(得分:1)

您可以使用gridview的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();
 }
}

答案 2 :(得分:0)

PK_ID设置为链接按钮的命令args,如

<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
}

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

我认为你有一个发送删除查询的方法。

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

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