【发布时间】:2015-05-06 09:41:34
【问题描述】:
我有一个启用分页和启用删除按钮的 Gridview。使用下面的代码,删除按钮被按下的那一行上方的行被删除。我也试过做“dt.Rows.Remove(dt.Rows[rowIndex-1]”。
行值仅在数据表中(不在数据库中)。
卡住了
在gridview中启用分页时需要帮助或代码来删除行。
protected void GVRequest_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
if (ViewState["CurrentTable"] != null)
{
DataTable dt = (DataTable)ViewState["CurrentTable"];
DataRow drCurrentRow = null;
int rowIndex = Convert.ToInt32(e.RowIndex);
if (dt.Rows.Count > 1)
{
dt.Rows.Remove(dt.Rows[rowIndex]);
drCurrentRow = dt.NewRow();
ViewState["CurrentTable"] = dt;
GVRequest.DataSource = dt;
GVRequest.DataBind();
for (int i = 0; i < GVRequest.Rows.Count - 1; i++)
{
GVRequest.Rows[i].Cells[0].Text = Convert.ToString(i + 1);
}
//SetPreviousData();
dt.AcceptChanges();
ViewState["CurrentTable"] = dt;
DataView view = new DataView(dt);
DataTable dt1 = view.ToTable( /*distinct*/ true, "CartonID", "FileID", "FileMasterID", "DeptFileID", "RequestID");
GVRequest.DataSource = dt1;
DataBind();
}
}
【问题讨论】:
-
DataBind() 是做什么的?
-
进行更改并尝试使用 GVRequest.DataBind()..no Joy
-
试着把 dt.AcceptChanges();在for循环之前
-
感谢您的宝贵时间 Adil...尝试了您的建议,但它不起作用...事实上...当我按下删除按钮时,它仅从第一页删除选定的行...行在其他页面上没有被删除
-
我觉得很难在评论中解释,请检查我的答案。
标签: c# asp.net gridview datatable paging