如何绑定gridview以允许在数据源是通过在asp.net中克隆生成的数据表时进行分页

时间:2017-04-08 09:48:05

标签: c# asp.net

我有一个gridView

<asp:GridView ID="InGridView" PageSize="5" AllowPaging="true"  runat="server" OnPageIndexChanging="InGridView_PageIndexChanging" ></asp:GridView>  

代码绑定到网格。

private void LoadGridView(string filename)
{
    invTable = new DataTable();
   // gets data from uploaded csv file
  DataTable csvDatatable=GetdataFromCSV(string filename)
    // Code to populate invTable with the data..
    invTable= checkCsvandGetTable(csvDatatable)
    InGridView.DataSouce = invTable;
    inGridView.DataBind();

} 其中数据绑定在button_click上完成,数据源是数据表,我从csv文件生成数据。

如何在这种情况下允许分页

the invTable is null when i am selecting 2 page for first page its working fine.

对此有何看法?

1 个答案:

答案 0 :(得分:0)

您需要再次使用数据加载invTable并将其绑定到PageIndexChanged事件中的GridView。

假设您有一个创建数据表的方法,用数据填充它并将其绑定到gridview。您可以通过单击按钮调用此方法。

private void LoadGridView()
{
    invTable = new DataTable();
    // Code to populate invTable with the data..
    InGridView.DataSouce = invTable;
    inGridView.DataBind();
}

您需要从PageIndexChanged事件处理程序调用相同的方法。 因此,InGridView的PageIndexChanged eventhandler应编写如下。

protected void InGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    InGridView.PageIndex = e.NewPageIndex;
    LoadGridView();
}

这可以解决您的问题。