当用户按下删除按钮时删除一行

时间:2016-05-18 06:35:41

标签: c# asp.net gridview

这可能是一个简单的问题,但我不知道我在这里做错了什么。代码是:

 protected void dgvSelected_RowCommand (object sender, GridViewCommandEventArgs e)
    {
        if(e.CommandName =="Delete")
        {
            if (!string.IsNullOrEmpty(e.CommandArgument.ToString()))
            {
                int RowIndex = Convert.ToInt32(e.CommandArgument);
                dgvSelected.DeleteRow(RowIndex);


                dgvSelected.DataBind();
            }


        }
    }

在课程结束时,我有这种方法。

protected void dgvSelected_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {

    }

我使用asp .net,我有一个gridview,有几行,每行有一个删除按钮,用户可以按下它删除该行。当我按下删除按钮时,整个网格视图消失。我做错了什么?

2 个答案:

答案 0 :(得分:0)

试试这个

protected void dgvSelected_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    dgvSelected.DataBind();
}

答案 1 :(得分:0)

由于gridview数据来自antoher gridview,因此解决方案是创建一个viewstate变量并将数据表保存在其中。然后删除一行:

protected void dgvSelected_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int index = Convert.ToInt32(e.RowIndex);
        DataTable dt = ViewState["SelectedValue"] as DataTable;
        dt.Rows[index].Delete();
        ViewState["SelectedValue"] = dt;
        dgvSelected.DataSource = dt;
        dgvSelected.DataBind();
    }