gridview动态绑定数据后怎样分页??

lbph1 2008-05-25 09:53:07
代码如下
protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
//实现动态绑定后分页
ConnDB conn = new ConnDB(strConn);
GridView1.PageIndex = e.NewPageIndex;
string str1 = sql语句;
DataSet ds = conn.ReturnDataSet(str1);
DataView dv = ds.Tables[0].DefaultView;
GridView1.DataSource = dv;
GridView1.DataBind();
this.GridView1.DataKeyNames = new string[] { "f_device" };
}
动态绑定数据后,gridview第一页显示正常,点击后面页没反应,上面的代码也没作用,why???
看到资料说需要设置GridView1.DataKeyNames,我上面的设置位置对吗,我必须在代码里设置,因为sql语句也是动态的。
...全文
652 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
慕容怕黑 2010-01-04
  • 打赏
  • 举报
回复
2楼正解。
lbph1 2008-05-26
  • 打赏
  • 举报
回复
谢谢上面各位,问题已经解决!动态绑定是因为gridview的数据源是根据上一个事件触发而得来的,所以必须是动态的。
我所做的操作:1、去掉this.GridView1.DataKeyNames = new string[] { "f_device" };
2、设置gridviw的enablesortingandpagingcallbacks为false-----默认的是false,但我前面改为true了
其它代码没有任何变化,再次感谢上面各位帮我分析!结贴
sfczz 2008-05-26
  • 打赏
  • 举报
回复
现在不做.NET,手头没法测试……
先弹个框啊啥的,看看这个事件被触发没
然后看看是不是语句顺序问题,先设置数据源,然后设置PAGEINDEX,然后再绑定

PS:有些不理解LZ为什么要用动态绑定,是因为写了带分页的SQL?
lbph1 2008-05-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sfczz 的回复:]
在GRIDVIEW2的事件里给GRIDVIEW1绑定?
而且获得的是GRIDVIEW2的NEWPAGEINDEX?
有些不理解……
如果没好的解决办法,放弃GRIDVIEW的自动分页,自己加LINKBUTTON写分页……
[/Quote]
不要意思,上面是我提问题时将事件中所有的gridview2修改为gridview1,方便大家看,忘记修改事件里的了,这位兄弟够细心
所以其实是放在相同的gridview对象里的。。。因为查看资料大家有这样实现过,所以我想那就肯定可以这样实现,只是不知道自己哪个地方错了
core77 2008-05-26
  • 打赏
  • 举报
回复
在GRIDVIEW2的事件里给GRIDVIEW1绑定...................
sfczz 2008-05-26
  • 打赏
  • 举报
回复
在GRIDVIEW2的事件里给GRIDVIEW1绑定?
而且获得的是GRIDVIEW2的NEWPAGEINDEX?
有些不理解……
如果没好的解决办法,放弃GRIDVIEW的自动分页,自己加LINKBUTTON写分页……
lbph1 2008-05-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 _NET2004 的回复:]
引用 2 楼 w511325 的回复:
其实呢,可以这样
pageindexchanging事件中编写
//分页
this.GridView1.PageIndex = e.NewPageIndex;
this.bind();//绑定数据库的方法



这个事件不能少
[/Quote]各位老大有看我的代码和我的提问吗??
_NET2004 2008-05-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 w511325 的回复:]
其实呢,可以这样
pageindexchanging事件中编写
//分页
this.GridView1.PageIndex = e.NewPageIndex;
this.bind();//绑定数据库的方法
[/Quote]


这个事件不能少
lbph1 2008-05-26
  • 打赏
  • 举报
回复
分页功能肯定是启用了的,当然是不行才写代码啊。如果不是动态绑定数据直接启用就是可以的!
to w511325:能否将详细代码都写上,我的代码也是为了实现你所说的,不知哪里不对,请各位高手指教?
crackpot2007 2008-05-26
  • 打赏
  • 举报
回复
启动分布功能或直接读取pagerDatasource。
w511325 2008-05-25
  • 打赏
  • 举报
回复
其实呢,可以这样
pageindexchanging事件中编写
//分页
this.GridView1.PageIndex = e.NewPageIndex;
this.bind();//绑定数据库的方法
ahshow 2008-05-25
  • 打赏
  • 举报
回复
有分页选项,开启就可以了,你可以看看msdn找gridview

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧