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语句也是动态的。
12 个解决方案
#1
有分页选项,开启就可以了,你可以看看msdn找gridview
#2
其实呢,可以这样
pageindexchanging事件中编写
//分页
this.GridView1.PageIndex = e.NewPageIndex;
this.bind();//绑定数据库的方法
pageindexchanging事件中编写
//分页
this.GridView1.PageIndex = e.NewPageIndex;
this.bind();//绑定数据库的方法
#3
启动分布功能或直接读取pagerDatasource。
#4
分页功能肯定是启用了的,当然是不行才写代码啊。如果不是动态绑定数据直接启用就是可以的!
to w511325:能否将详细代码都写上,我的代码也是为了实现你所说的,不知哪里不对,请各位高手指教?
to w511325:能否将详细代码都写上,我的代码也是为了实现你所说的,不知哪里不对,请各位高手指教?
#5
这个事件不能少
#6
各位老大有看我的代码和我的提问吗??
#7
在GRIDVIEW2的事件里给GRIDVIEW1绑定?
而且获得的是GRIDVIEW2的NEWPAGEINDEX?
有些不理解……
如果没好的解决办法,放弃GRIDVIEW的自动分页,自己加LINKBUTTON写分页……
而且获得的是GRIDVIEW2的NEWPAGEINDEX?
有些不理解……
如果没好的解决办法,放弃GRIDVIEW的自动分页,自己加LINKBUTTON写分页……
#8
在GRIDVIEW2的事件里给GRIDVIEW1绑定...................
#9
不要意思,上面是我提问题时将事件中所有的gridview2修改为gridview1,方便大家看,忘记修改事件里的了,这位兄弟够细心
所以其实是放在相同的gridview对象里的。。。因为查看资料大家有这样实现过,所以我想那就肯定可以这样实现,只是不知道自己哪个地方错了
#10
现在不做.NET,手头没法测试……
先弹个框啊啥的,看看这个事件被触发没
然后看看是不是语句顺序问题,先设置数据源,然后设置PAGEINDEX,然后再绑定
PS:有些不理解LZ为什么要用动态绑定,是因为写了带分页的SQL?
先弹个框啊啥的,看看这个事件被触发没
然后看看是不是语句顺序问题,先设置数据源,然后设置PAGEINDEX,然后再绑定
PS:有些不理解LZ为什么要用动态绑定,是因为写了带分页的SQL?
#11
谢谢上面各位,问题已经解决!动态绑定是因为gridview的数据源是根据上一个事件触发而得来的,所以必须是动态的。
我所做的操作:1、去掉this.GridView1.DataKeyNames = new string[] { "f_device" };
2、设置gridviw的enablesortingandpagingcallbacks为false-----默认的是false,但我前面改为true了
其它代码没有任何变化,再次感谢上面各位帮我分析!结贴
我所做的操作:1、去掉this.GridView1.DataKeyNames = new string[] { "f_device" };
2、设置gridviw的enablesortingandpagingcallbacks为false-----默认的是false,但我前面改为true了
其它代码没有任何变化,再次感谢上面各位帮我分析!结贴
#12
2楼正解。
#1
有分页选项,开启就可以了,你可以看看msdn找gridview
#2
其实呢,可以这样
pageindexchanging事件中编写
//分页
this.GridView1.PageIndex = e.NewPageIndex;
this.bind();//绑定数据库的方法
pageindexchanging事件中编写
//分页
this.GridView1.PageIndex = e.NewPageIndex;
this.bind();//绑定数据库的方法
#3
启动分布功能或直接读取pagerDatasource。
#4
分页功能肯定是启用了的,当然是不行才写代码啊。如果不是动态绑定数据直接启用就是可以的!
to w511325:能否将详细代码都写上,我的代码也是为了实现你所说的,不知哪里不对,请各位高手指教?
to w511325:能否将详细代码都写上,我的代码也是为了实现你所说的,不知哪里不对,请各位高手指教?
#5
这个事件不能少
#6
各位老大有看我的代码和我的提问吗??
#7
在GRIDVIEW2的事件里给GRIDVIEW1绑定?
而且获得的是GRIDVIEW2的NEWPAGEINDEX?
有些不理解……
如果没好的解决办法,放弃GRIDVIEW的自动分页,自己加LINKBUTTON写分页……
而且获得的是GRIDVIEW2的NEWPAGEINDEX?
有些不理解……
如果没好的解决办法,放弃GRIDVIEW的自动分页,自己加LINKBUTTON写分页……
#8
在GRIDVIEW2的事件里给GRIDVIEW1绑定...................
#9
不要意思,上面是我提问题时将事件中所有的gridview2修改为gridview1,方便大家看,忘记修改事件里的了,这位兄弟够细心
所以其实是放在相同的gridview对象里的。。。因为查看资料大家有这样实现过,所以我想那就肯定可以这样实现,只是不知道自己哪个地方错了
#10
现在不做.NET,手头没法测试……
先弹个框啊啥的,看看这个事件被触发没
然后看看是不是语句顺序问题,先设置数据源,然后设置PAGEINDEX,然后再绑定
PS:有些不理解LZ为什么要用动态绑定,是因为写了带分页的SQL?
先弹个框啊啥的,看看这个事件被触发没
然后看看是不是语句顺序问题,先设置数据源,然后设置PAGEINDEX,然后再绑定
PS:有些不理解LZ为什么要用动态绑定,是因为写了带分页的SQL?
#11
谢谢上面各位,问题已经解决!动态绑定是因为gridview的数据源是根据上一个事件触发而得来的,所以必须是动态的。
我所做的操作:1、去掉this.GridView1.DataKeyNames = new string[] { "f_device" };
2、设置gridviw的enablesortingandpagingcallbacks为false-----默认的是false,但我前面改为true了
其它代码没有任何变化,再次感谢上面各位帮我分析!结贴
我所做的操作:1、去掉this.GridView1.DataKeyNames = new string[] { "f_device" };
2、设置gridviw的enablesortingandpagingcallbacks为false-----默认的是false,但我前面改为true了
其它代码没有任何变化,再次感谢上面各位帮我分析!结贴
#12
2楼正解。