我在DataGridView中顯示一個表格,最多有100,000行。該表有一列包含大字符串。我發現將AutosizeMode設置爲'AllCells'會導致應用程序在計算所需寬度時凍結很長時間。 作爲一種折衷方案,我將Autosize模式設置爲DisplayedCells。 我然後綁定的方法來DataGrid的滾動事件:C#DataGridView AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
public void MethodThatBindsDataToTheDatagridview(DataTable table)
{
dataGrid.Source = table;
dataGrid.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
dataGrid.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
}
pubic void DataGridScroll(object sender, ScrollEventArgs e)
{
((DataGridView)sender).Update();
}
我也試圖與刷新方法相同。我的期望是,DataGrid將根據顯示的行設置列寬。但是,這隻會在表格加載時發生,但滾動事件不會觸發列寬度的更改。
問題解決。謝謝。 – Yoav 2011-01-28 16:52:34