【问题标题】:manual gridview paging手动gridview分页
【发布时间】:2012-05-11 10:52:24
【问题描述】:

我正在从数据库中提取 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();
}

强文本

【问题讨论】:

  • 为什么不使用 gridview 中的内置分页。为 gridview 和数据源设置 PageSize 为 10 拉所有 100 条记录
  • 因为在数据访问上我想一次只提取 10 条记录

标签: asp.net


【解决方案1】:

试试这个:

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"

【讨论】:

    猜你喜欢
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 2011-04-14
    相关资源
    最近更新 更多