求在ListView上显示上百万条记录的方法

adf3wswwe3 2007-06-16 12:19:20
用一般的方法显示速度无法忍受.希望路过的高手帮助一下。
...全文
527 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
yucong 2007-06-18
  • 打赏
  • 举报
回复
分页加载
adf3wswwe3 2007-06-18
  • 打赏
  • 举报
回复
非常感谢大家给予的帮助.
可行的大概有两个解决方法:

1、 分页
2 、类似SQL直接打开表的方法,捕获滚动条事件,一次加载一屏显示的行数.

依技术难度来看,我还是选择第一种,简单快捷。
bote_china 2007-06-18
  • 打赏
  • 举报
回复
100W条夸张了,100条数据listview的显示速度都已让人无法忍受.非必要还是不要用listview,加载数据太慢.
amandag 2007-06-18
  • 打赏
  • 举报
回复
一次读100W条 太夸张了吧
蒋晟 2007-06-17
  • 打赏
  • 举报
回复
When you set the VirtualMode property to true, you should handle the RetrieveVirtualItem event, providing a valid ListViewItem.

If the View property is set to Tile, the value will automatically be changed to LargeIcon when VirtualMode is set to true.

http://msdn2.microsoft.com/en-us/library/system.windows.forms.listview.virtualmode.aspx
Jinwmmail 2007-06-17
  • 打赏
  • 举报
回复
模仿 Sql Server 中直接打开表读取数据.

捕获滚动条事件,一次加载一屏显示的行数.
Ki1381 2007-06-17
  • 打赏
  • 举报
回复
有必要吗?给我100条记录看也够呛了
lnwuyaowei 2007-06-17
  • 打赏
  • 举报
回复
谁能看这么多记录?想办法分页吧.
shinaterry 2007-06-17
  • 打赏
  • 举报
回复
而且把(虚拟模式)VirtualMode设为True后,不可以添加Item...
shinaterry 2007-06-17
  • 打赏
  • 举报
回复
请问LS,这个VirtualMode属性只是标识控件提供自己的数据管理操作.那又能意味着什么???
蒋晟 2007-06-17
  • 打赏
  • 举报
回复
listview不是有virtual mode么
vrhero 2007-06-16
  • 打赏
  • 举报
回复
分页显示...

没有任何软件会傻到要求一屏显示上百万条记录...
xiao_p 2007-06-16
  • 打赏
  • 举报
回复
用个backgroundworker 异步加载
这是比较可行的方案

ps 同意楼上的某些看法
显示的数据超过1000条的就是傻子的行为

客户不会看的
lovingkiss 2007-06-16
  • 打赏
  • 举报
回复
但是.Net如果另外线程来操作的话——基本上也卡死了,.Net的特色
shinaterry 2007-06-16
  • 打赏
  • 举报
回复
用一次性填充窗体可见的部分...

然后开一个线程,一边读取一边添加到ListView上...

我就不信,看的人有电脑那么快...
guyehanxinlei 2007-06-16
  • 打赏
  • 举报
回复
分页加载吧
lovingkiss 2007-06-16
  • 打赏
  • 举报
回复
一次性读取完全不可能,加载就受不了的
mostone 2007-06-16
  • 打赏
  • 举报
回复
只显示可见部分,好象有个事件,会通知你当前可见部分的索引号范围,只要在里面处理就行了,另外,要生效好象还要设置一个属性吧。
没试过,瞎说,不知道是不是这样。

110,567

社区成员

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

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

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