献给初学者们(我也是,哈哈!!)不用重新查数据,用语言求得总记录(总行数)
代码如下:
if (GridView1.PageCount > 0) // 如果页数大于0
{
GridView1.PageIndex = GridView1.PageCount - 1; // 将当前显示页的索引转到最后一页
GridView1.DataBind(); //重新绑定数据,这是十分重要,这样才能到达最后一页
int lastSize = GridView1.Rows.Count; // 然后获得最后一页的行数
if (GridView1.PageCount > 1) // 如果页数大于1页,则计算出
{ // 总行数=(总页数-1)* 每页行数 + 最后一页的行数
int rowsCount = GridView1.PageSize * (GridView1.PageCount - 1) + lastSize;
recordCount.Text = rowsCount.ToString(); // 将它赋给一个Label
}
else recordCount.Text = lastSize.ToString(); //如果页数只有一页,则直接将该页的行数赋给Label
GridView1.PageIndex = 0;
}
else recordCount.Text = "0"; // 如果无记录,页显示0
代码很简单,我在解决这个问题时,想到了在网络上寻找答案。但是,很多人都没有给出完整的答案,有的还提议数据库查询得出答案,很明显这是十分低效率的。最后还是相信自己,想了一下,很快就通了。有时,如果我们遇到问题时,应该并不用急着去请教别人,去网络找答案。自己认真思考一下,效率可能更加明显。
我只是一个菜鸟,高手看见了这样的问题,可能会嗤之以鼻!但请记住:任何高手也是从菜鸟演变而来的。
这篇博客针对初学者,介绍了如何不重新查询数据库,仅通过编程方式获取GridView控件的总记录数(总行数)。通过设置PageIndex和重新绑定数据,可以计算出最后一页的行数,结合总页数计算出总行数,从而避免了低效的数据库查询。作者鼓励遇到问题时先尝试自己思考解决方案。
384

被折叠的 条评论
为什么被折叠?



