一个关于ListView和DataPager的问题

wangming402407250 2009-12-25 09:42:24
高手们,我把这两个控件和起来分页的时候,出现问题了。在这两种情况下有问题
1.如果这个页面第一次加载进来就会显示很多页的数据,还有查询功能。假设第一次加载进来10页,我翻到最后一页,紧接着查询,若是查询出来的结果不够10页,会进死循环。这种已经解决。每次在点击查询时都会将DataPager起始条数设置为0,就可以了。

2.这个分页每次都需要来绑定数据源,在ListView1_PagePropertiesChanged()这个事件里,但是我在第一次加载,和查询后的数据源是不一样的,我很难判断该去绑定那个数据源。因为假设还是第一次加载的数据源,我还没有点击查询那肯定是第一次加载的所有数据集,但是我点击查询后绑定的该是我查询后的数据集。

希望各位高手发表哈意见。谢谢了
...全文
244 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangming402407250 2009-12-25
  • 打赏
  • 举报
回复
不好意思啊说的不清楚
protected void ListView1_PagePropertiesChanged(object sender, EventArgs e)
{
DataPager pager = (DataPager)ListView1.FindControl("DataPager1");
int PageSize = pager.PageSize;
int StartRowIndex = ((DataPager)ListView1.FindControl("DataPager1")).StartRowIndex;
int TotalRowCount = ((DataPager)ListView1.FindControl("DataPager1")).TotalRowCount;
((DataPager)ListView1.FindControl("DataPager1")).SetPageProperties(StartRowIndex, PageSize, true);
DataSet ds = getAllCustomers();
this.ListView1.DataSource = ds.Tables[0].DefaultView;
this.ListView1.DataBind();
}

红色部分是触发事件后要绑定的数据源,现在的问题是不知道绑定那个数据源。
第一次加载页面的数据时DataSet ds =getAllCustomers();
点击查询后的页面的数据是DataSet ds=getSearch();
你怎么知道绑定那个呢?
chengcheng1253 2009-12-25
  • 打赏
  • 举报
回复
listview 中的数据 可以直接添加进去 用绑定的话 在灵活上面会有点限制~
Lovely_baby 2009-12-25
  • 打赏
  • 举报
回复
你说的好乱~~
这种问题就是设断点跟踪一下
看看你的sql语句在sql中执行是否是你要的数据
不对再修改~~
wqysjl 2009-12-25
  • 打赏
  • 举报
回复
你点击查寻不就是给了个where条件嘛,那样的话给出的数据源就会随着查询条件不一样给不同的数据源。
比如
DataSet ds = _User.UserManagerListPage(userID, lvls, where, orderby, pageIndex, this.Pager1.PageSize);
括号里为从数据库中取值的条件,你可以把where条件设置为一个函数,页面刚加载时where为空,输入查询条件时,where随着输入内容不同而改变,你只要绑定ds就可以了
csdsuper 2009-12-25
  • 打赏
  • 举报
回复
不错,帮支持下,谁有的可以放源码上来
wangming402407250 2009-12-25
  • 打赏
  • 举报
回复
我知道用隐藏控件可以弄,我传一个值判断有没有点击过查询,若没有我就查询全部并绑定,若有就根据查询的条件再次查询绑定。我不想这么搞,还有没有别的办法
mengxj85 2009-12-25
  • 打赏
  • 举报
回复
第二个问题,将查询语句或者查询条件保存起来
翻页时就用保存的查询条件
veiwstate[], session,隐藏控件……

62,254

社区成员

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

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

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

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