163K网站系统官方论坛's Archiver

yessir 发表于 2007-2-16 18:15

.net教程:两个简单方法加速datagridview

[size=3]         datagridview虽然好用,但是如果数据量比较大的话就会出现性能的问题。网上提供的一般做法是通过虚拟模式(virtual mode)来加速。但是有的时候,可以通过简单的设置来加速datagridview。
  (1)使用绑定数据。就是通过加载datatable然后通过bindingsource来和datagridview.datasource进行交互。
  (2)不要使用autosizecolumnsmode.allcells。如果这么设置,datagridview只有等到所有的单元格都绘制完毕了才能显示。因为列的宽度是要根据这一列最长的单元格来决定的。如果改为displayedcells的话,那么只要显示的部分绘制完毕就可以决定列宽。

  (3)可能的情况下使用autogeneratecolumns来自动设定列。
  在实际应用中,一个10000*20左右的datagridview,原来的显示效率是100s左右,使用了上述的办法之后变成了6s。效果还是比较明显的。
  当然,如果要加速更多的数据量的话,还是需要使用虚拟模式的。毕竟上述的方法只是解一时之需。
  



[/size]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.