DataGridView虽然好用,但是如果数据量比较大的话就会出现性能的问题。网上提供的一般做法是通过虚拟模式(Virtual Mode)来加速。但是有的时候,可以通过简单的设置来加速DataGridView。
(1)使用绑定数据。就是通过加载DataTable然后通过BindingSource来和DataGridView.DataSource进行交互。
(2)不要使用AutoSizeColumnsMode.AllCells。如果这么设置,DataGridView只有等到所有的单元格都绘制完毕了才能显示。因为列的宽度是要根据这一列最长的单元格来决定的。如果改为DisplayedCells的话,那么只要显示的部分绘制完毕就可以决定列宽。
(3)可能的情况下使用AutoGenerateColumns来自动设定列。
在实际应用中,一个10000*20左右的DataGridView,原来的显示效率是100s左右,使用了上述的办法之后变成了6s。效果还是比较明显的。
当然,如果要加速更多的数据量的话,还是需要使用虚拟模式的。毕竟上述的方法只是解一时之需。
posted on 2006-12-12 10:47 妖居 阅读(1680) 评论(3)  编辑 收藏 所属分类: 技术随笔

FeedBack:
2006-12-12 12:13 | Anders Cui      
谢谢:)
  回复  引用  查看    
2008-03-11 13:12 | Stephen.Ju      
怎么使用虚拟模式(Virtual Mode)来加速啊?
  回复  引用  查看    
#3楼[楼主]
2008-03-11 15:40 | 妖居      
@Stephen.Ju
说来惭愧,我是没有弄明白怎么用虚拟模式,所以才研究出这个东西来的。所以我说是“简单加速”。

  回复  引用  查看    



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 589633




相关文章:

相关链接:
<2006年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

iMatrixitor
iMatrixitor发布专用页
Contact me on MSN?

与我联系

搜索

 

常用链接

留言簿

随笔分类(35)

随笔档案(35)

文章分类(3)

文章档案(2)

相册

技术社区

  • CodeProject
  • 各种开发语言汇集的,包含很多使用代码的开发社区。(英文)
  • CSDN
  • 最大的中文开发者技术社区

积分与排名

  • 积分 - 62161
  • 排名 - 982

最新评论

阅读排行榜