CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

200分请教:WinForm下大量数据显示的问题!

楼主chensan(兄弟我先抛块砖,有玉的尽管砸过来)2006-08-15 11:34:37 在 .NET技术 / C# 提问

要显示10万条数据,特别慢,占用内存也大,请问怎么解决呢?  
  1:listview和datagrid哪个快点?  
  2:不太想使用分页,比如说sql   server   查询分析器下面的显示数据用什么控件呢? 问题点数:200、回复次数:31Top

1 楼Knight94(愚翁)回复于 2006-08-15 11:45:55 得分 25

to   1:listview和datagrid哪个快点?  
   
  应该是listview比较快。Top

2 楼Knight94(愚翁)回复于 2006-08-15 11:47:22 得分 0

to    
  要显示10万条数据,特别慢,占用内存也大,请问怎么解决呢?  
  1:listview和datagrid哪个快点?  
  2:不太想使用分页,比如说sql   server   查询分析器下面的显示数据用什么控件呢?  
   
  还是建议你用分页处理,  
  否则,不管是查询,还是后期的操作都比较麻烦Top

3 楼jijl2001(jijl2001)回复于 2006-08-15 11:51:46 得分 10

虚   listview不知道行不行Top

4 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-08-15 11:55:25 得分 15

显示10万条数据给谁看?   神仙都看不了~~  
   
  sql   server   查询分析器有没有分页偶不缺人,但其他应用一般都是有一定的加载策略的,例如你打开一个excel文件,顶部的数据会比较快显示出来,如果你快速拖动滚动条道底端,会发现其他数据也许还没加载~Top

5 楼lovvver(ElephantTalk.Bright)回复于 2006-08-15 12:00:56 得分 30

这么大的数据量,用分页比较好,否则,内存站用多,而且操作费时。  
  解决办法:  
  一次取出10页数据,比如默认取1-10页数据,并取出总页数。  
  当换页在1-10页内,直接定位到该页,如果换页的页数在10以上,则先取以所选页数为中点,如所选页数为22页,那么,可以取17-26页,这个可以根据自己需要来定。  
   
  这样,即避免了一次把10万条数据都取出来的内存占用问题,又避免了一次只取一页,频繁取数所带来的操作慢的问题(因为一次取1页和取10页的操作耗时基本相同),这是一个折中办法。Top

6 楼yuzhlhua()回复于 2006-08-15 12:01:23 得分 2

一边学习,一边顶~     关注继续...Top

7 楼chensan(兄弟我先抛块砖,有玉的尽管砸过来)回复于 2006-08-15 14:02:35 得分 0

嗯,有道理,谢谢,winform下的分页控件除了datagrid还有什么好用的呢?Top

8 楼zhgroup(王员外)回复于 2006-08-15 16:39:16 得分 5

ListView也可以,SQL的查询分析器实际上也进行分页了。Top

9 楼caizhenfang(几路)回复于 2006-08-15 16:57:58 得分 2

不分页,难道一次把那么多数据读出来  
  有必要吗?浪费Top

10 楼eric88(保持共产党员先尽兴)回复于 2006-08-15 17:12:27 得分 10

做个“下一页”的button  
   
  先读50条  
   
  每点一次button,读出50条来  
   
  只能分开,数据量太大,性能问题受不了  
   
  Top

11 楼guyes123(以为喜欢这里,所以来接分)回复于 2006-08-15 17:18:42 得分 1

学习Top

12 楼cancerser(都是混饭吃,记得要结帖)回复于 2006-08-15 17:24:21 得分 10

10万条?   没多少啊,可以一次读进来  
  慢的问题是在显示上吧  
  能不能先显示一部分   比如1万,剩下的在另一个线程中加在控件里Top

13 楼iflang(踩姑娘的小蘑菇)回复于 2006-08-15 17:31:58 得分 10

to:  
   
    Knight94(愚翁)   (   )   信誉:110     2006-08-15   11:45:00     得分:   0      
     
     
        to   1:listview和datagrid哪个快点?  
   
  应该是listview比较快。  
  ------------------------------------------------------------------------------------  
   
  通过一系列的测试和理论证明,,,DataGrid   比ListView   快          
     
  Top

14 楼iflang(踩姑娘的小蘑菇)回复于 2006-08-15 17:33:08 得分 5

在ASP.NET     下     10万一定要分页并且分批处理,,否则服务器完蛋了...Top

15 楼wsxqaz(原来可以改昵称)回复于 2006-08-15 17:39:42 得分 2

你难道要一次显示出来~~~Top

16 楼Radar2006(中华英雄)回复于 2006-08-15 17:41:54 得分 2

帮顶~~~Top

17 楼lovvver(ElephantTalk.Bright)回复于 2006-08-15 17:49:44 得分 0

10万条数据在查询分析器里取出来,对于普通机器来说,差不多1万条一秒种,10万条,需要10秒种。  
  如果在程序里取出来,而且还要绑定,你可以想象程序在运行时的速度会怎样。  
   
  用listview,数据绑定可是每次都要取10万条数据的,从执行效率的角度看,不如自己写绑定的效率高。Top

18 楼yanro(小菜鸟)回复于 2006-08-15 18:26:35 得分 2

用分页吧!!!  
   
  Top

19 楼tankai0613()回复于 2006-08-15 19:36:28 得分 10

看你用的是什么数据库,如果是用SQL的话,分页是最好的了,如果你用Oracle   数据库开发的话,那就更好做了,直接有个表空间,你给分几个区,那你查询速度绝对的快Top

20 楼wuhuabucai(混乱)回复于 2006-08-15 19:39:40 得分 5

listview   kuai   deTop

21 楼Dennis618(明月照沟渠)回复于 2006-08-15 19:45:29 得分 2

tankai0613()       什么叫分几个区?Top

22 楼chensan(兄弟我先抛块砖,有玉的尽管砸过来)回复于 2006-08-15 20:03:17 得分 0

能不能先显示一部分   比如1万,剩下的在另一个线程中加在控件里????  
  -----什么意思?怎么做?  
  Top

23 楼fattycat(最爱胖猫)回复于 2006-08-15 20:05:24 得分 2

markTop

24 楼jrl5365(king007)回复于 2006-08-15 20:08:09 得分 5

分页,用储存过程分页这样可能比较好点Top

25 楼purple_tide(锦)回复于 2006-08-15 20:11:54 得分 20

MSDN   里面有一篇文章   叫做   虚拟方式加载数据  
   
  主要做法就是开始只是加载你看到的那个部分数据   随着你焦点的移动   逐渐把新的数据加载入内存  
   
  当然分页实现也是可以的  
   
  虚拟方式+分页   会比较舒服   (这里的分页仅仅起到导航的作用)  
   
  .net   2.0   里面有数据导航控件Top

26 楼myminimouse(坚决不用baidu)回复于 2006-08-15 20:33:44 得分 2

jfTop

27 楼songlife33(美女,偶们结婚吧)回复于 2006-08-16 08:43:01 得分 4

有道理,显示10万条数据是有点不合理,Who   can   read   it?Top

28 楼zhiang75(zhiang75)回复于 2006-08-16 08:50:47 得分 5

建议LZ将这10万条数先用合适的格式保存到临时文件系统中,然后在根据用户需求..分段读如内存..Top

29 楼bbbbcccc()回复于 2006-08-16 12:49:37 得分 2

http://valenhua.go3.icpcn.com/Top

30 楼mo_yuan_ming(水墨清风)回复于 2006-08-16 12:59:07 得分 10

如果列不多,列中的数据不多就直接显示,完全可以满足性能要求!Top

31 楼huming_h()回复于 2006-08-16 14:25:30 得分 2

学习Top

相关问题

关键词

得分解答快速导航

  • 帖主:chensan
  • Knight94
  • jijl2001
  • Eddie005
  • lovvver
  • yuzhlhua
  • zhgroup
  • caizhenfang
  • eric88
  • guyes123
  • cancerser
  • iflang
  • iflang
  • wsxqaz
  • Radar2006
  • yanro
  • tankai0613
  • wuhuabucai
  • Dennis618
  • fattycat
  • jrl5365
  • purple_tide
  • myminimouse
  • songlife33
  • zhiang75
  • bbbbcccc
  • mo_yuan_ming
  • huming_h

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo