手动gridview分页

时间:2012-05-11 02:41:46

标签: asp.net

我正在从数据库中取回100条记录中的10条并放入gridview(这里没有数据源对象)。

如何启用gridview附带的分页?我知道总记录是100,我可以用它以某种方式激活分页吗?

我知道我可以使用DataSource对象轻松完成这项操作,但我只是想知道是否可以完全手动完成GridView。

标记

<form id="form1" runat="server">
<div>

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
        AllowSorting="True" onpageindexchanging="GridView1_PageIndexChanging" 
        onsorting="GridView1_Sorting">
    </asp:GridView>

</div>
</form>

代码隐藏

protected void Page_Load(object sender, EventArgs e)
{
    GridView1.DataSource = GetCustomers();
    GridView1.DataBind();
}

强文

1 个答案:

答案 0 :(得分:2)

试试这个:

protected void Page_Load(object sender, EventArgs e)
{
   if(!Page.IsPostback) {BindData();}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
     GridView1.DataSource = GetCustomers();
     GridView1.PageIndex = e.NewPageIndex;
     GridView1.DataBind();

}

void BindData()
{
   GridView1.DataSource = GetCustomers();
   GridView1.DataBind();

}

您还需要将其添加到gridview标记:

OnPageIndexChanging="GridView1_PageIndexChanging"