How can I suspend a .NET DataGridView from displaying anything while I update its Columns?
Here\'s my current code. It works ok, but it is very slow on the foreach
You may want to consider using the AddRange method instead of Add. The Data Grid behaves a little better when you add them all at once.
DataGridViewColumn[] columns = new DataGridViewColumn[dt.Columns.Count];
for (int i = 0; i < dt.Columns.Count; i++ )
{
DataColumn c = dt.Columns[i];
DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
col.SortMode = DataGridViewColumnSortMode.NotSortable;
col.DataPropertyName = c.ColumnName;
col.HeaderText = c.Caption;
columns[i] = col;
}
dataGridView1.Columns.AddRange(columns);