GridView 显示大量数据,页面执行非常慢(急)

taokai 2007-08-11 10:55:55
GridView 显示大量数据,页面执行非常慢,
不用存储过程,有什么解决的办法吗
...全文
1297 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
社会栋梁 2008-09-02
  • 打赏
  • 举报
回复
是不是数据库本身性能问题
有没有加索引
Layne的博客 2008-09-02
  • 打赏
  • 举报
回复
挺复杂的,学习了~~
yangjia21_2007 2007-08-20
  • 打赏
  • 举报
回复
如果去数据的业务不很复杂,就用分页存储过程,只取一页的数据。效率好的多
ezhuyin 2007-08-20
  • 打赏
  • 举报
回复
分页的信息是存在viewstate里面的,取出了该页信息以后,还要去更改viewstate,才可以使得在界面上保持一致。

这样说吧,你实际上取了10条内容,但是告诉系统,一共有100条内容,每页10条,显示第2页内容。
==============================================================================
这样sql语句实现不了吧。
==============================================================================

实际上取10条内容:这个使用Sql语句来取,使用存储过程,同时可以用out参数返回总共数据有多少条。
告诉系统,一共有100条内容,每页10条,显示第2页内容:这个是通过修改viewstate中的数据来达到“欺骗”系统的目的。DataGridView之所以能够分页,因为分页数据放到了viewstate中,将总共的数据量以及其他一些参数修改,可以达到界面上的统一——反正在第2页看不到第3页的内容吧?

其实还有个简单的:使用Sql语句,得到总共数据,用数据建立临时表,把不需要的部分全部放空。比如,一共100条,每页10条,显示第2页。这时候,临时表中1-10条数据直接填充为空,11-20条数据填充为实际数据,21-100条数据填充为空数据。这样,DataGridView显示起来,就跟拿全部数据显示没两样,就不用去搞stateview了。
shoushii 2007-08-20
  • 打赏
  • 举报
回复
不要使用DataSet做数据源
songjinxi123 2007-08-18
  • 打赏
  • 举报
回复
你自己电脑的带宽是多少?你把程序在本地测试一下,看会不会出现你说的那种非常慢的现象.
taokai 2007-08-18
  • 打赏
  • 举报
回复
分页的信息是存在viewstate里面的,取出了该页信息以后,还要去更改viewstate,才可以使得在界面上保持一致。

这样说吧,你实际上取了10条内容,但是告诉系统,一共有100条内容,每页10条,显示第2页内容。
==============================================================================
这样sql语句实现不了吧。
linyai 2007-08-17
  • 打赏
  • 举报
回复
可以手动自己绑定到前台,好像很多数据控件底层用反射来遍历数据行,性能不怎么样
ezhuyin 2007-08-17
  • 打赏
  • 举报
回复
分页的信息是存在viewstate里面的,取出了该页信息以后,还要去更改viewstate,才可以使得在界面上保持一致。

这样说吧,你实际上取了10条内容,但是告诉系统,一共有100条内容,每页10条,显示第2页内容。
yaoshuwen 2007-08-17
  • 打赏
  • 举报
回复
................
taokai 2007-08-17
  • 打赏
  • 举报
回复
上面的存储过程可以看懂,但是vs里面不知道怎么调用,呵呵

主要一直没用过,存储过程以前用过,但不是C#
wowangpeng 2007-08-17
  • 打赏
  • 举报
回复
暈,我不是在上面給你寫一個一存儲過程嗎?不會看不懂吧
taokai 2007-08-17
  • 打赏
  • 举报
回复
每次只读一页数据,那分页怎么实现呢

select top 5 * from (select top 10 * from table order by id) a order by id desc
这个分页没办法实现吧
3000sunqin 2007-08-15
  • 打赏
  • 举报
回复
控件属性中设置是没有用的,只是表面上的分页,并不能解决性能问题,必须还是一次取一页才可以
zhuliandong 2007-08-15
  • 打赏
  • 举报
回复
GridView 05里的控件有属性可以设置的
3000sunqin 2007-08-15
  • 打赏
  • 举报
回复
select top 5 * from (select top 10 * from table order by id) a order by id desc
每次只读5条,这是第二页,明白?
bigsuncc 2007-08-15
  • 打赏
  • 举报
回复
每次只读一页数据,我至今没有办法实现。除非不考虑排序
taokai 2007-08-15
  • 打赏
  • 举报
回复
带宽还可以的,都10M独享,不个上面有20个站点。
songjinxi123 2007-08-15
  • 打赏
  • 举报
回复
很有可能是你网络带宽小,下载数据慢的原因,你用一个网络流量查看软件来看看,在GridView 显示大量数据,带宽用了多少.现在电脑的配置都很不错了,一般不会在执行上面慢.
book_Haoye 2007-08-15
  • 打赏
  • 举报
回复
自带分页是先将数据全部读出再进行分页的,数据量大时速度肯定慢。
根据查询条件和页码从数据库中读取相应页的数据即可
加载更多回复(17)

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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