启用分页时删除/删除网格视图行



我有一个启用了分页的网格视图。

当我试图删除第1页以外的页面上的行时,它删除的是不正确的行,而不是按下删除按钮的行。

protected void GVRequest_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int index = Convert.ToInt32(e.RowIndex);
        DataTable dtCurrentTable = ViewState["CurrentTable"] as DataTable;
        dtCurrentTable.Rows[index].Delete();
        ViewState["CurrentTable"] = dtCurrentTable;
        DataView view = new DataView(dtCurrentTable);
        DataTable dt1 = view.ToTable(true, "CartonID", "FileID", "FileMasterID", "DeptFileID", "RequestID");
        GVRequest.DataSource = dt1;
        DataBind();
    }

尝试这个

更换

dtCurrentTable.Rows[index].Delete();

带有

dtCurrentTable.Rows[index-1].Delete();

试试这个。。。

protected void GVRequest_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
        int p = Convert.ToInt32(ViewState["Pageindex"]);
        int s = GVRequest.PageSize;
        p = p * s;
        DataTable dtCurrentTable= new DataTable();
        int d = Convert.ToInt32(e.RowIndex);
        int dl = d + p;
        dt = ViewState["CurrentTable"] as DataTable;
    dtCurrentTable.Rows[dl].Delete();
    ViewState["CurrentTable"] = dtCurrentTable;
    DataView view = new DataView(dtCurrentTable);
    DataTable dt1 = view.ToTable(true, "CartonID", "FileID", "FileMasterID", "DeptFileID", "RequestID");
    GVRequest.DataSource = dt1;
    DataBind();
        ViewState["Pageindex"] = 0;
}
protected void NextPage(object sender, GridViewPageEventArgs e)
{
    GVRequest.PageIndex = e.NewPageIndex;
    ViewState["Pageindex"] = e.NewPageIndex;
    GVRequest.DataSource = ViewState["CurrentTable"] as DataTable; //get datasource (list or datatable)
    DataBind();
}

如果您使用上面的代码

,您不想做任何假设

最新更新