2009-07-16 3 views
1

HI를 얻을,이 설정으로 DataGridView를했습니다 : D를DataGridView를 실제 순서

dataGridView1.AllowUserToOrderColumns = TRUE; (사용자가 열을 다시 정렬 할 수 있습니다)

내 문제는 내가 열 현재의 순서를 알고 싶은 것입니다. 나는이 methond 한 적이 :

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