2013-02-23 78 views
3

我有Gridview自動生成Column = "true"現在我想更改gridview的OnRowCreated事件中的gridview列的位置。設置gridview列與自動生成列的位置

我使用此代碼

TableCell cell = e.Row.Cells[1]; 
    TableCell cell1 = e.Row.Cells[0]; 
    e.Row.Cells.RemoveAt(1); 
    e.Row.Cells.RemoveAt(0); 
    e.Row.Cells.Add(cell1); 
    e.Row.Cells.Add(cell); 

它正常工作,它的動作列0和1

現在我想的GridView的第三列移到第一位置網格視圖的最後一個位置,所以我使用

TableCell cell2 = e.Row.Cells[3]; 
e.Row.Cells.RemoveAt(3); 
e.Row.Cells.AddAt(0, cell2); 

,但它不工作....

+0

你是如何將數據綁定GridView的?什麼? – 2013-02-23 11:20:16

+0

我使用存儲過程在buttonclick上綁定網格視圖 – Neha 2013-02-23 11:22:13

+0

使用什麼datastructure,datatable? – 2013-02-23 11:24:24

回答

0

如果綁定的GridViewDataTable,你可以將它綁定在你面前移動的DataTable列到GridView

DataTable table = new DataTable(); 
table.Columns.Add("x"); 
table.Columns.Add("y"); 
table.Columns.Add("z"); 

table.Rows.Add("1", "2", "3"); 
table.Rows.Add("1", "2", "3"); 
table.Rows.Add("1", "2", "3"); 

//Move the column 
table.Columns["z"].SetOrdinal(0); 

string value = table.Rows[0][0].ToString(); 
//Outputs 3 

gridView.DataSource = table; 
gridView.DataBind();