【问题标题】:how to count no of records in gridview while paging is true分页为真时如何计算gridview中的记录数
【发布时间】:2010-08-20 05:48:25
【问题描述】:

我有一个网格视图,在这个网格中我允许页面大小为 10 的分页。 现在我想查找每个页面索引上的记录总数。 例如,在页面索引 1 上,我有 10 条记录,在页面索引 2 上,我有 4 条记录,那么如何计算我刚才提到的记录数?

【问题讨论】:

  • 通常,只有最后一页可以有可变记录数,可能低于你的页面大小。数据源中的记录总数+您的页面大小应该有助于提供该信息,因为您将知道您的页面大小。是不是您的 gridview 的数据源一次只检索每个页面的记录,因此您无法这样做?

标签: c# asp.net gridview pagination


【解决方案1】:

如果有人仍在寻找解决这个问题的方法,这里是:

DataView dv = (DataView)YourDataSource.Select(DataSourceSelectArguments.Empty);
int numberOfRows = int.Parse(dv.Table.Compute("Count(datakey)", "").ToString());

如果您的数据源有过滤表达式,这也有效,您只需将过滤表达式而不是“”传递给 Compute 方法,就像这样

string rowFilter = YourDataSource.FilteringExpression;
int numberOfRows = int.Parse(dv.Table.Compute("Count(datakey)", rowFilter).ToString());

【讨论】:

    【解决方案2】:

    如果 gv 是您的带有分页的网格视图:

    var currentCount = (gv.PageIndex - 1) * gv.PageSize + gv.Rows.Count;
    

    【讨论】:

    • 那么我如何计算当前页面上的记录
    • 编辑了我的答案。 gw.Rows.Count 给出当前页面的项目数。
    猜你喜欢
    • 1970-01-01
    • 2015-01-18
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多