我在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