2010-01-06 11 views

Respuesta

3
  1. Iterar través de todas las columnas del objeto GridView y Tienda en una colección.

    List<DataControlField> columns = new List<DataControlField>(); 
    foreach (DataControlField column in gv.Columns) 
    { 
        columns.Add(column); 
    } 
    
  2. Reorganizar la columna -objetos como desee en la colección.

    //Rearrange columns' collection.. 
    
  3. Borrar todas las columnas del objeto GridView y añadir columnas de la colección a GridView objeto.

    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

Esto no parece trabajar con campos de plantilla. Después de eliminar y volver a agregar las columnas, los campos de la plantilla están vacíos (los campos vinculados muestran los valores correctos).

0

En el caso RowCreated, iterar a través de cada columna, excepto la primera celda de cada fila (el campo de la plantilla) en una varible (oCell) y eliminarlo de la colección, a continuación, utilizar column.Add(oCell) para añadirlo al final de la colección.

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

Cuestiones relacionadas