如何获取GridView的总记录数?(转)
2009-06-15 14:07
239 查看
转自:http://wostyh.javaeye.com/blog/313507
用GridView.Rows.Count的话获取的只是当前页的记录数,用GridView.PageSize * GridView.PageCount的话,如果最后一页的记录数不是GridView.PageSize条的话,获取的总记录数就不准确。因此,我们要编写代码判断,如下:
C#代码
![](http://wostyh.javaeye.com/images/icon_copy.gif)
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
如果用SqlDataSource作为GridView数据源的话,就很简单了,在SqlDataSource的Selected事件中编写如下的代码:
C#代码
![](http://wostyh.javaeye.com/images/icon_copy.gif)
protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
lblNum.Text = e.AffectedRows.ToString(); //e.AffectedRows获取的就是总记录数
}
用GridView.Rows.Count的话获取的只是当前页的记录数,用GridView.PageSize * GridView.PageCount的话,如果最后一页的记录数不是GridView.PageSize条的话,获取的总记录数就不准确。因此,我们要编写代码判断,如下:
C#代码
![](http://wostyh.javaeye.com/images/icon_copy.gif)
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
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
如果用SqlDataSource作为GridView数据源的话,就很简单了,在SqlDataSource的Selected事件中编写如下的代码:
C#代码
![](http://wostyh.javaeye.com/images/icon_copy.gif)
protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
lblNum.Text = e.AffectedRows.ToString(); //e.AffectedRows获取的就是总记录数
}
相关文章推荐
- 如何获取GridView的总记录数?
- 如何获取GridView的总记录数?
- 如何获取GridView的总记录数?
- 如何获取GridView的总记录数?
- xaf 如何在子列表视图控制器中获取当前列表中的记录(非SelectedObjects)
- GridView的模版列中加入按钮,触发按钮事件后,如何获取该行的某个值?
- MS SQLSERVER 2000 中如何快速获取表的记录总数
- 如何在GridView中使用RadioButtons单选列,并且获取所选定RadioButton的值。
- GridView如何更新批量数据和单条记录?
- 数据库中如何获取上一条..下一条..首尾记录
- 关于如何获取GridView指定单元格背景颜色
- SQL中如何获取记录的排名
- MS SQLSERVER中如何快速获取表的记录总数
- 记录:MUI框架中如何在多个input输入框失去焦点时获取当前input的value值
- 如何获取url访问历史记录
- 用ObjectDataSource作数据源,用GridView分页时,获取总记录数的方法
- GridView控件中如何获取所选行的设置的DataKeyNames值
- gridview中如何获取当前行的索引值
- GridView使用技巧之:如何在RowCommand里获取模板列里绑定的内容?
- Sqlserver 如何获取每组中的第一条记录