2009-07-16 26 views
1

HI,我已經使用此設置一個DataGridView:dDataGridView中獲得實際訂單

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)

回答

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); 
     }