datagridview雖然好用,但是如果數據量比較大的話就會出現性能的問題。網上提供的一般做法是通過虛擬模式(virtual mode)來加速。但是有的時候,可以通過簡單的設置來加速datagridview。
(1)使用綁定數據。就是通過加載datatable然后通過bindingsource來和datagridview.datasource進行交互。
(2)不要使用autosizecolumnsmode.allcells。如果這么設置,datagridview只有等到所有的單元格都繪制完畢了才能顯示。因為列的寬度是要根據這一列最長的單元格來決定的。如果改為displayedcells的話,那么只要顯示的部分繪制完畢就可以決定列寬。
(3)可能的情況下使用autogeneratecolumns來自動設定列。
在實際應用中,一個10000*20左右的datagridview,原來的顯示效率是100s左右,使用了上述的辦法之后變成了6s。效果還是比較明顯的。
當然,如果要加速更多的數據量的話,還是需要使用虛擬模式的。畢竟上述的方法只是解一時之需。
新聞熱點
疑難解答