我使用datagrid标准的分页方法,但是我发现每次单击一个页号码的时候,数据集都要重新生成一次,如果数据量比较大,岂不很费资源?

liu7537 2003-04-25 11:44:04
我使用datagrid标准的分页方法,但是我发现每次单击一个页号码的时候,数据集都要重新生成一次,如果数据量比较大,岂不很费资源?

有没有什么好办法,能够让dataset只生成一次,然后每次用户点击页码的时候只是重新绑定一下datagrid?
...全文
37 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ameng_2002 2003-04-25
  • 打赏
  • 举报
回复
如果数据量比较大,建议用自定义分页,只绑定当前页的数据集
bpy_r 2003-04-25
  • 打赏
  • 举报
回复
一般该应用涉及到两个事件:Page_load(……)、PageIndexChange(……)<指用户点击页码时的事件>
定义对象:protected sys…… DataSet1;
在Page_load{
if (IsPost==false)
{ 读数据到DataSet1 ;
DataGrid.DataSource = DataSet1.Tables[strTableName].DefaultView;
DataGrid.DataBind();
}//中设置数据原
另外保持DataGrid EnableViewState 的默认设置(允许保留视图状态)
则不会多次重读数据原
}
再在PageIndexChange(……)
{其他处理;
DataGrid.DataSource = DataSet1.Tables[strTableName].DefaultView;
DataGrid.DataBind();
}
wacle 2003-04-25
  • 打赏
  • 举报
回复
数据集并没有重新生成,只是你的DataGrid重新绑定了。使用的还是原来的数据集。
孟繁光 2003-04-25
  • 打赏
  • 举报
回复
注意在你BindData的時候不要再去查詢資料庫了.
如果需要多次使用DataSet,請使用Session或者Cache
zwztu 2003-04-25
  • 打赏
  • 举报
回复
dataset是只生成一次,用标准的datagrid分页方法,是将dataset一次全部读到内存中
kendison 2003-04-25
  • 打赏
  • 举报
回复
数据量比较大,如果不考虑数据是否最实时的数据,可考虑一次读取数据,在客户端实现分页(用xml + table实现)
flybird079 2003-04-25
  • 打赏
  • 举报
回复
如果数据量不是很大,那即使重新生成数据集也没什么,这没什么好说的。
如果数据良很大,自然就要考虑使用自定义分页了,建议你看这个帖子
http://expert.csdn.net/Expert/topic/1586/1586488.xml?temp=.8289606
张新林 2003-04-25
  • 打赏
  • 举报
回复
一般来说数据量不大时,可以考虑放到session时,避免每次都到数据库去load,但是数据量非常的大那么考虑自定义分页了。
目前我用的是自定义分页。

62,251

社区成员

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

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

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

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