HI,我有一个带有此设置的DataGridView:d
dataGridView1.AllowUserToOrderColumns = true;
(因此用户可以重新排序列)
我的问题是我想知道列的当前顺序。 我做过这个方法:
public List<int> getActualTaskOrder() {
List<int> ris = new List<int>();
int i=1;
while(i<this.dataGridView1.Columns.Count){
DataGridViewColumn c= this.dataGridView1.Columns[i];
if (c.Name != "**")
{
Console.WriteLine(c.HeaderText);
ris.Insert(c.Index-1, System.Convert.ToInt32(c.Tag));
}
i++;
}
return ris;
}
我的问题是结果(列的顺序)总是一样的(如果我在我的gui中移动列的话)
答案 0 :(得分:1)
您需要查看列的DisplayIndex
;也许是这样的:
var qry = from DataGridViewColumn col in grid.Columns
where col.Name != "**"
orderby col.DisplayIndex
select col.HeaderText;
foreach (string txt in qry) {
Console.WriteLine(txt);
}