C# DataGridView获取实际订单

C# DataGridView获取实际订单,c#,winforms,datagridview,C#,Winforms,Datagridview,嗨,我有一个设置为:d的DataGridView dataGridView1.AllowUserToOrderColumns=true (因此用户可以对列重新排序) 我的问题是我想知道列的当前顺序。 我用这种方法: public List<int> getActualTaskOrder() { List<int> ris = new List<int>(); int i=1; whil

嗨,我有一个设置为:d的DataGridView

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;
        }
public List getActualTaskOrder(){
List ris=新列表();
int i=1;

而(i您需要查看列的
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);
        }

您需要查看列的
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);
        }