要用模板列替换特定的自动生成列,只需定义模板列并在代码中隐藏自动生成列。默认情况下,自动生成的列将出现在模板列之后,因此如果希望适当地放置这些列,也可以在代码中交换输出。
在这个例子中,我改变了gridview的输出,它有两个模板列和两个自动生成的列,总共4个。我想用一个模板列(索引1)替换最后一个自动生成的列(索引3),但是我希望其中一个自动生成的列(索引2)更靠左,所以我用一个模板列(索引1)来切换它。
Private Sub gv_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv.RowDataBound
'hide Column 3'
e.Row.Cells(3).Visible = False
'Swap the results for Column 1 and Column 2'
Dim swap = e.Row.Cells(1).Text
e.Row.Cells(1).Text = e.Row.Cells(2).Text
e.Row.Cells(2).Text = swap
End Sub
这相当简单,不需要任何额外的类。