2017-03-31 6 views
2

Ich möchte Reihenfolge der Gridview-Spalten ändern (8. als erstes, erstes als zweites, zweites als drittes ...). Ich fülle meine Gridview (die 9 Spalten hat) mit Daten aus der Textdatei. Code ist hier:Wie ändert man die Reihenfolge der Spalten in der 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; 
    } 

Danach habe ich dies:

ConvertToDataTable(filePath, 9); 

Dies ist gridview:

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

Wie kann ich das tun?

Antwort

3

Bevor die Datasource des

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

Dies wird sich ändern die Ordinal Eigenschaft des Datacolumn in der DataTable.DataColumnCollection in einer Art und Weise Raster einstellen, dass das Gitter sieht, als erste Spalte, Ihre neunte Spalte. Natürlich bewegen sich alle anderen Spalten bis zu einer neuen Indexposition

Verwandte Themen