2010-01-06 33 views

回答

3
  1. 迭代通过所有列和GridView的对象的商店他们在集合

    List<DataControlField> columns = new List<DataControlField>(); 
    foreach (DataControlField column in gv.Columns) 
    { 
        columns.Add(column); 
    } 
    
  2. 重新排列列对象为你收集的希望。

    //Rearrange columns' collection.. 
    
  3. 清除所有列 GridView的对象和从集合列添加到GridView的对象

    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 2010-01-07 05:07:31

0

这似乎并不与模板下地干活。 删除并重新添加列后,模板字段为空 (绑定字段显示正确的值)。

0

RowCreated事件,遍历每个列,上保存varible(oCell)每行(模板字段)的第一个单元格,并从集合中删除它,然后用column.Add(oCell)将其添加到的结束采集。

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