C#中的GridView分页

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

我正在使用

PageIndexChanging
事件来处理 C# 中的 GridView 分页。但不知道如何在那里使用 PageSize/PageNumber/PageCount 。换句话说,我的代码被迫始终返回所有数据。请注意以下代码:

protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
        grdList.PageIndex = e.NewPageIndex;
        grdList.DataSource = MyGetData();
        grdList.DataBind();
}

现在如何在这段代码中使用真正的分页?

请注意,

MyGetData
也有一个重载,它也会得到
PageIndex
PageSize

更新

我也设置了

PageSize
并启用了
AllowPaging
。我知道如果我使用声明性数据绑定,我应该向 GridView 提供所有数据的计数。问题是如何在这个方法中使用计数。

更新2 看来我需要的这样的东西是不可能的,参考无数据源控制的高效Gridview分页问题

c# asp.net gridview pagination custompaging
4个回答
1
投票

GridView中的高效分页需要对数据进行计数,否则GridView会加载每个页面中的所有数据。由于在不使用 DataSource 控件时无法告诉 GridView 数据的数量,因此如果没有 DataSource 控件,则不可能在 GridView 中进行有效的分页。欲了解更多信息,请访问此链接此链接


0
投票

您可以在 GridView 控件中设置 PageSize


0
投票

您需要设置

PageSize="10"

请参阅此链接:http://www.dotnetspider.com/resources/1249-Grid-View-Paging-Sorting.aspx


0
投票

如果您的

MyGetData
方法已经接受 pageindex 和 pagesize,那么您需要的是:

protected void grdList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    grdList.PageIndex = e.NewPageIndex;
    grdList.DataSource = MyGetData(e.NewPageIndex, grdList.PageSize);
    grdList.DataBind();
}

但这似乎有点太简单了,所以我可能在这里遗漏了一些东西。

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