2017-03-31 5 views
2

gridview 열의 순서를 변경하고 싶습니다 (먼저 8 번째, 2 번째, 2 번째, 3 번째 ...). 텍스트 파일의 데이터가있는 gridview (9 개의 열이 있음)를 채 웁니다. 코드는 여기에 있습니다 : 그 후Gridview의 열 순서를 변경하는 방법은 무엇입니까?

public DataTable ConvertToDataTable(string filePath, int numberOfColumns) 
    { 
     DataTable tbl = new DataTable(); 
     for (int col = 0; col < numberOfColumns; col++) 
     tbl.Columns.Add(new DataColumn("Column" + (col + 1).ToString())); 

     string[] lines = File.ReadAllLines(filePath); 
     List<string> ekran = new List<string>(); 
     foreach (string line in lines) 
     { 
      var cols = line.Split(','); 
      DataRow dr = tbl.NewRow(); 
      for (int cIndex = 0; cIndex < 9; cIndex++) 
      { 
       if (cols[cIndex].Contains('_')) 
       { 
        cols[cIndex] = cols[cIndex].Substring(0, cols[cIndex].IndexOf('_')); 
        dr[cIndex] = cols[cIndex]; 
       } 
       else 
       { 
        cols[cIndex] += '_'; 
        cols[cIndex] = cols[cIndex].Substring(0, cols[cIndex].IndexOf('_')); 
        dr[cIndex] = cols[cIndex]; 
       } 
      } 
      for (int cIndex = 0; cIndex < 9;cIndex++) 
       if (dr[cIndex].ToString() == promenljiva) 
        tbl.Rows.Add(dr); 
     } 

     this.GridView1.DataSource = tbl; 
     this.GridView1.DataBind(); 

     return tbl; 
    } 

내가이 있습니다

ConvertToDataTable(filePath, 9); 

이있는 gridview입니다 :

<asp:GridView ID="GridView1" runat="server"></asp:GridView> 

어떻게 그렇게 할 수 있습니까?

답변

3

그리드의

tbl.Columns[8].SetOrdinal(0); 

을 데이터 소스를 설정하기 전에이 첫 번째 열, 당신의 9 열로, 그리드보고하는 방법으로 DataTable.DataColumnCollection 내부를 DataColumn의 Ordinal 속성을 변경합니다. 물론 다른 모든 열은 새 인덱스 위치로 이동합니다.