C# DataGridView-添加列而无需不断更新水平滚动条(Winforms)
我有一个DataGridView,需要动态地向其中添加几个(比如20个)列。当我这样做的时候C# DataGridView-添加列而无需不断更新水平滚动条(Winforms),c#,winforms,datagridview,C#,Winforms,Datagridview,我有一个DataGridView,需要动态地向其中添加几个(比如20个)列。当我这样做的时候 foreach (var columnName in ColumnNames) dataGridView.Columns.Add(columnName, columnName); 每次添加新列时,水平滚动条都会尝试保持最新状态。所以用户看到奇怪的滚动条在缩小。我只需要更新水平滚动条一次,当所有列被添加。我如何做到这一点? 另外,我试着这样做: ((System.ComponentModel.
foreach (var columnName in ColumnNames)
dataGridView.Columns.Add(columnName, columnName);
每次添加新列时,水平滚动条都会尝试保持最新状态。所以用户看到奇怪的滚动条在缩小。我只需要更新水平滚动条一次,当所有列被添加。我如何做到这一点?另外,我试着这样做:
((System.ComponentModel.ISupportInitialize)(dataGridView)).BeginInit();
dataGridView.SuspendLayout();
foreach (var columnName in ColumnNames)
{
dataGridView.Columns.Add(columnName, columnName);
}
((System.ComponentModel.ISupportInitialize)(dataGridView)).EndInit();
dataGridView.ResumeLayout(false);
但是这没有用。你可以用。这可能有助于更新
dataGridView.Columns.AddRange(Columns);
AddRange给定列名称的示例(未测试,但应有效):
//假设ColumnNames是列名列表
DataGridViewColumn[]列添加=
新的DataGridViewColumn[ColumnNames.Count];
for(int i=0;i
您可以使用。这可能有助于更新
dataGridView.Columns.AddRange(Columns);
AddRange给定列名称的示例(未测试,但应有效):
//假设ColumnNames是列名列表
DataGridViewColumn[]列添加=
新的DataGridViewColumn[ColumnNames.Count];
for(int i=0;i
能否请您提供一个示例,说明如何构造DataGridViewColumn
只知道它的名称?@StuffOccurs-我添加了一个快速示例能否请您提供一个示例,说明如何构造DataGridViewColumn
只知道它的名称?@StuffOccurs-我添加了一个快速示例