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