这可能是一个简单的问题,但我不知道我在这里做错了什么。代码是:
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,有几行,每行有一个删除按钮,用户可以按下它删除该行。当我按下删除按钮时,整个网格视图消失。我做错了什么?
答案 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();
}