2010-07-25 112 views
0

我需要使用DataGridView控件來顯示大量列。我有一個DataGridViewCell類,它爲每個單元指定一個自定義的Paint方法。我已經添加的列是這樣的...DataGridView並以編程方式添加列

 int ColumnCount = 5000; 
     DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell(); 
     for (int i = 0; i < ColumnCount; i++) 
     { 
      dataGridView1.Columns.Add(new DataGridViewColumn() { CellTemplate = cell, FillWeight = 1 }); 
     } 

的問題是,這需要年齡添加的所有列,比它應該需要更長的時間。當我添加列時,我可以看到DataGridView底部的滾動條的大小變得越來越小,就像每次添加一列時網格正在繪製每列。

有沒有人知道更快的方式來添加大量的列,或者如何防止DataGridView更新,直到所有的列已被添加?

我試過禁用調整大小,SuspendLayout(),並設置dataGridView1.Visible = false

+1

嘗試創建列數組集合,然後將其添加到網格中,而不是將其添加到for循環中的網格中。 – JPReddy 2010-10-12 11:26:57

回答

0

如果對DataGridView使用VirtualMode = TRUE,則只能刷新屏幕部分。