关于GridView中默认显示页码的问题

最近写一个页面需要让GridView默认显示最后一页,在CSDN上问了一下,好多人都说用

 

1  if  ( ! IsPostBack)
2          {
3              GridView1.DataBind();
4              GridView1.PageIndex  =  GridView1.PageCount;
5          }

这样来写,可是实践中发现这样写并不能达到预期的效果,默认仍然显示第一页,只是在点击任意一个翻页后跳到最后一页,而CSDN上有朋友还强调一定要在DataBind()后做页码设定.

后来在MSDN中文论坛上发帖求助才得以解决.

一定要在DataBind()之前设定页码,PageCount也不要用,绑定之前PageCount默认是0,在这里要手动写一个计算页码的方法

 

 

 

 1  private   int  pageNum()
 2      {
 3          DataSet ds = new  DataSet();
 4          SqlDataAdapter da  =   new  SqlDataAdapter(查询,连接);
 5          da.Fill(ds);
 6           int  totnum;
 7           int  num = ds.Tables[ 0 ].Rows.Count;
 8           if  (num  %   10   ==   0 )
 9          {
10              totnum  =  num  /   10 ;       // 如果能整除就是正好能分整页
11          }
12           else
13          {
14              totnum  =  num  /   10   +   1 ;   // 如果有余数就是余下的行分在一个新页中
15          }
16 
17           return  totnum;
18      }

 

DataBind()之前加上GridView1.PageIndex = pageNum();

 

既然有分页,肯定要有换页的代码,这个GridView1.PageIndex = pageNum();我写在了绑定数据的方法里,那么在protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)中,换页后绑定数据就不能在用这个绑定方法了,否则每次换页都只能显示最后一页,可以在写一个绑定方法,去掉GridView1.PageIndex = pageNum();这一句,然后给PageIndexChanging事件来用

转载于:https://www.cnblogs.com/frostx/archive/2008/09/10/1288310.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值