利用gridview显示查询结果分页时,点下一页显示内容不再是查询结果集

mixianger 2007-04-09 11:30:42
我从数据库中查出的数据大约是几千条,用gridview分页显示出来了.但是在查看第二页的查询结果时,我发现显示出来的数据不是我所查询出来的,而是默认的在pageload里绑定的所有数据.我怀疑是databind()的问题.因为在pageload()里,没有ispostback.
我想问一下,在分页后点下一页时,
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;

GridView1.DataBind();
}
这个DataBind()数据绑定是如何进行的?
...全文
503 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
fxqyyzg 2007-04-09
  • 打赏
  • 举报
回复
GridView1.PageIndex = e.NewPageIndex;

GridView1.DataBind();

-------------------
你这样作应当是不行的

你点击下一页时候就把按条件查的用所有的替换掉了

你是用默认的分页还是自己写的啊?
fxqyyzg 2007-04-09
  • 打赏
  • 举报
回复
消失可能是没有数据了
mixianger 2007-04-09
  • 打赏
  • 举报
回复
但是加了ispostback以后,点下一页时gridview就消失了啊.
wangzhaoli1982 2007-04-09
  • 打赏
  • 举报
回复
要加ispostback
ispostback
{
绑定
}
不然你的页面每次load的时候就会执行 以前的绑定 所以显示不出来
miffy1984 2007-04-09
  • 打赏
  • 举报
回复
我的问题解决了。设置了一个静态变量,在需要的时候改变其值.然后在每次ispostback时,databind().
谢谢!
mixianger 2007-04-09
  • 打赏
  • 举报
回复
dt_select是一个DataTable对象.
mixianger 2007-04-09
  • 打赏
  • 举报
回复
string sql_select = "select * from jb_qyjbxx where ** and **";
dt_select = DataComm.GetSqlData(sql_select);
GridView1.DataSource = dt_select;
GridView1.DataBind();
**代表条件.有很多条件.
我从数据库取数据用的代码就这几句,怎么把它变成一个datasource返回啊?
mixianger 2007-04-09
  • 打赏
  • 举报
回复
谢谢楼上的的两位,我试一下看看.
to: fxqyyzg(海冬青)(昨夜西风凋碧树。独上高楼,望尽天涯路)
我用的是默认的分页.

zhilaizhiw 2007-04-09
  • 打赏
  • 举报
回复
同意楼上。
把你的取出数据的步骤做成一个方法,作为绑定源返回。
在GridView1.DataBind();之前,加上
GridView1.DataSource = ds;//ds是你要绑定的数据源(查询以后的话就是查询后的数据源)。
单独使用
GridView1.DataBind();是没有任何意义的。
hy_lihuan 2007-04-09
  • 打赏
  • 举报
回复
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataSource = ds;//ds是你要绑定的数据源(查询以后的话就是查询后的数据源)
GridView1.DataBind();

62,041

社区成员

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

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

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

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