关于DataGrid分页的求助~~

gggg32167 2006-09-18 08:50:02
刚开始学ASP.net,在边学边做的时候碰到一个疑问,所以来这边向各位请教一下.我在处理DataGrid分页时采用控件自带的事件,这个在处理Page_Load中就绑定的数据是没有问题的,但是我如果在同一页面加上查询功能,查询出的数据绑定到DataGrid后分页就出现问题了~~不知道你们是怎么处理的?这里先谢谢了~
...全文
275 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
gggg32167 2006-09-18
  • 打赏
  • 举报
回复
先谢谢各位了~~可能我没有表述清楚,我的情况是这样的:我的页面在载入的触发Page_Load事件查询出一定的数据并与DataGrid绑定,调用DataGrid自带的分页事件实现分页,在分页事件中我指定数据绑定函数,其中就有查询语句.现在我使用条件查询出新的数据后,绑定到DataGrid后再去触发分页事件的话就会改变查询的数据,问题这样就出现了~~~所以我想解决的是分页事件能否独立于DataGrid数据的绑定,而不是我没次分页都要查询数据.
zeng_c_h 2006-09-18
  • 打赏
  • 举报
回复
樓主好象沒說清楚呀﹐問題是什么現象呢﹖
無數據﹐或是運行出錯﹐那錯誤描述是什么﹖
若無數據﹐可檢查綁定數據的方法。
若是運行出錯﹐先設置個斷點﹐試著跟蹤調試程序。
若是數據錯誤﹐則檢查數據分頁時的索引值是否准確。如查詢后是否已還原為0。
xiangzi630 2006-09-18
  • 打赏
  • 举报
回复
写一个数据绑定的方法,在Page_Load事件里:

if( !IsPostBack() )
{
//这里调用绑定方法
}
ice2927276 2006-09-18
  • 打赏
  • 举报
回复
学习了.......
whslovexyp 2006-09-18
  • 打赏
  • 举报
回复
我觉得你应该是这样的问题,就是你datagrid本身是第5页,而你查询后的数据没有5页,那么绑定时默认还是第5页,因此会出问题了。查询后让datagrid绑定为第1页。不知道是不是这个问题
myminimouse 2006-09-18
  • 打赏
  • 举报
回复
代码?
新鲜鱼排 2006-09-18
  • 打赏
  • 举报
回复
如果数据量比较大的话,那么可以在存储过程中传入基本的查询条件,再传入进一步查询过滤的条件。这样会减少流量,否则通过DataView也可以实现,但是会有很大的内存占用。

伴老思源 2006-09-18
  • 打赏
  • 举报
回复
a),设断点,跟踪察看事件处理顺序
b),把PageLoad中的,绑定数据的写入到!IsPostBack()中,

if( !IsPostBack() )
{
//这里写初绑定
}
  • 打赏
  • 举报
回复
你的问题我很早之前遇到过,解决的方法如下:
private void btnQuery_Click(object sender, System.EventArgs e)
{
if(this.dg1.CurrentPageIndex==0 || this.dg1.CurrentPageIndex>0)
{
this.dg1.CurrentPageIndex=0;
}
//上面的关键句
pname=this.txtKey.Text.Trim();

this.databindtodg1();
}
xiangzi630 2006-09-18
  • 打赏
  • 举报
回复
写一个数据绑定的方法,在Page_Load事件里:

if( !IsPostBack() )
{
//这里调用绑定方法
}
在查询按钮中对查询到的数据重新绑定;
在DataGrid的PageIndexChanged事件中:
this.DataGrid1.CurrentPageIndex=e.NewPageIndex;
//这里再调用一次绑定方法
这样就可以了
heroyujun 2006-09-18
  • 打赏
  • 举报
回复
可以把数据放到session里,但是如果数据太大,内存占用很厉害
ucipl 2006-09-18
  • 打赏
  • 举报
回复
up
tesling 2006-09-18
  • 打赏
  • 举报
回复
可以把查询过程放在一个方法中,然后每次换页,调用方法就行了。
ICollection CreateDataSource()
{
// 。。。。。。。。。。。
//获取数据
return dv;

}

void Grid_Change(Object sender, DataGridPageChangedEventArgs e)
{
ItemsGrid.CurrentPageIndex = e.NewPageIndex;
ItemsGrid.DataSource = CreateDataSource();
ItemsGrid.DataBind();

}

62,266

社区成员

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

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

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

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