2010-01-06 6 views

Antwort

3
  1. Iterate durch alle Spalten des Grid Objekt und Shop sie in einer Sammlung.

    List<DataControlField> columns = new List<DataControlField>(); 
    foreach (DataControlField column in gv.Columns) 
    { 
        columns.Add(column); 
    } 
    
  2. Rearrange die column-Objekte, wie Sie in der Sammlung wollen.

    //Rearrange columns' collection.. 
    
  3. Löschen Sie alle Spalten des Gridview-Objekt und Spalten aus der zu Grid Objektsammlung hinzufügen.

    gv.Columns.Clear(); 
    foreach (DataControlField column in columns) 
    { 
        gv.Columns.Add(column); 
    } 
    
+2

http://geekswithblogs.net/dotNETvinz/archive/2009/06/03/move--autogenerate-columns-at-leftmost-part-of-the-gridview.aspx – hotcoder

0

Dies scheint nicht mit Schablonenfeldern zu arbeiten. Nach dem Entfernen und erneutem Hinzufügen der Spalten sind die Vorlagenfelder leer (die gebundenen Felder zeigen die richtigen Werte an).

0

Auf dem RowCreated Ereignisse, durchläuft jede Spalte, die erste Zelle jeder Zeile speichern (das Template-Feld) auf einem varible (oCell) und aus der Sammlung löscht, dann column.Add(oCell) verwenden Sie es bis zum Ende der hinzufügen Sammlung.

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e){ 

    GridViewRow row = e.Row; 
    // Intitialize TableCell list 
    List<TableCell> columns = new List<TableCell>(); 
    foreach (DataControlField column in GridView1.Columns) 
    { 
     //Get the first Cell /Column 
     TableCell cell = row.Cells[0]; 
     // Then Remove it after 
     row.Cells.Remove(cell); 
     //And Add it to the List Collections 
     columns.Add(cell); 
    } 

    // Add cells 
    row.Cells.AddRange(columns.ToArray()); 
} 

http://geekswithblogs.net/dotNETvinz/archive/2009/06/03/move--autogenerate-columns-at-leftmost-part-of-the-gridview.aspx

Verwandte Themen