【发布时间】:2010-08-17 12:39:42
【问题描述】:
我的 gridview 有几个 sqldatasources。所有列都是自动生成的。但是,它们都有一些一致的字段,我想将这些字段设为模板字段,以便我可以为它们修改编辑模板,例如添加下拉菜单。这可能吗?如果是这样,怎么做? :-D 谢谢!
【问题讨论】:
标签: vb.net templates gridview drop-down-menu auto-generate
我的 gridview 有几个 sqldatasources。所有列都是自动生成的。但是,它们都有一些一致的字段,我想将这些字段设为模板字段,以便我可以为它们修改编辑模板,例如添加下拉菜单。这可能吗?如果是这样,怎么做? :-D 谢谢!
【问题讨论】:
标签: vb.net templates gridview drop-down-menu auto-generate
要将特定的自动生成的列替换为模板列,只需定义模板列并在代码中隐藏自动生成的列。默认情况下,自动生成的列将出现在您的模板列之后,因此如果您希望它们被适当地放置,您也可以在代码中交换输出。
在这个例子中,我正在更改一个 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
这相当简单,不需要任何额外的类。
【讨论】: