C# 在datagridview中保存columns.AddRange()时保持顺序

C# 在datagridview中保存columns.AddRange()时保持顺序,c#,winforms,datagridview,C#,Winforms,Datagridview,这是我的UserDynamicSetsControl代码 this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.ColumnsA,this.ColumnB,this.ColumnsC,this.ColumnD}); 第二种解决方案(我可以互换使用) 这些代码可以工作,但按错误的顺序添加列,例如columnB、columnC、columnA、columnD 如何确保这些列处

这是我的UserDynamicSetsControl代码

this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.ColumnsA,this.ColumnB,this.ColumnsC,this.ColumnD});
第二种解决方案(我可以互换使用)

这些代码可以工作,但按错误的顺序添加列,例如columnB、columnC、columnA、columnD


如何确保这些列处于良好状态?

您是否检查了要添加的列上的DisplayIndex?确保a列的DisplayIndex为0,B列的DisplayIndex为1等

有关DisplayIndex的MSDN链接

但不是100%确定,我习惯于使用xceed datagrid而不是micorsoft。

你有权:(int index=0;indexvar list= new System.Windows.Forms.DataGridViewColumn[] { this.ColumnsA,this.ColumnB,this.ColumnsC,this.ColumnD}; foreach (DataGridViewColumn dataGridViewColumn in list) { dataGridView1.Columns.Add(dataGridViewColumn); }