2009-07-16 16 views
1

HIを取得し、私はこの設定でのDataGridViewました:DをDataGridViewの実際の順序

dataGridView1.AllowUserToOrderColumns =はtrue。 (ユーザーが列の順序を変更することができるように)

私の問題は、私は、列の現在の順序を知りたいということです。 私はこのmethondをやった:(私は私のGUIで列を移動した場合も)

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

私の問題は、結果(列の順序)は常に同じであるということである

答えて

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