GridView分页情况下计算行数比较繁琐,一般是用一条SQL语句查询,但也可以直接用GridView计算。下面给出一个计算函数。这个函数看上去比较怪,效率也不是很高,但只要有GridView就能计算出来。
///
/// 计算GridView中的记录数
///
/// GridView的实例
///
static public int GetRecordCount(GridView gv)
{
// 不分页,或只有1页,则取当前页的行数
if (!gv.AllowPaging || gv.PageCount <= 1)
return gv.Rows.Count;
// 记录当前页索引,以便计算完成后恢复
int nCurPage = gv.PageIndex;
// 跳转到最后一页
gv.PageIndex = gv.PageCount - 1;
gv.DataBind();
// 计算总行数,为:(总页数 - 1) * 每页行数 + 最后一页行数
int nTotalCount = gv.PageIndex * gv.PageSize + gv.Rows.Count;
// 恢复原页索引
gv.PageIndex = nCurPage;
gv.DataBind();
// 返回计算出的页数
return nTotalCount;
}
本文作者:ivy_zheng最后一只恐龙的专栏 来源:http://blog.csdn.net/Ivy_zheng/archive/2007/05/30/
CIO之家 www.ciozj.com 微信公众号:imciow