【问题标题】:Deleting a row when the user presses delete button当用户按下删除按钮时删除一行
【发布时间】:2016-05-18 06:35:40
【问题描述】:

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

 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 有几行,并且在每一行我都有一个删除按钮,用户可以按下它来删除该行。当我按下删除按钮的那一刻,整个网格视图消失了。我做错了什么?

【问题讨论】:

标签: c# asp.net gridview


【解决方案1】:

试试这个

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

【讨论】:

    【解决方案2】:

    由于 gridview 数据来自另一个 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();
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-05
      • 1970-01-01
      • 1970-01-01
      • 2019-06-07
      • 2016-04-12
      • 2020-11-08
      • 2019-05-28
      相关资源
      最近更新 更多