启用分页时Gridview行删除/删除

问题描述 投票:0回答:2

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

当我尝试删除第 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();

    }
c# gridview pagination aspxgridview
2个回答
0
投票

试试这个

更换你的

dtCurrentTable.Rows[index].Delete();

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

0
投票

试试这个...

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();
}

如果您使用上面的代码,您不想假设任何事情

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.