グリッドビュー用にいくつかのsqldatasourcesがあります。すべての列が自動生成されます。ただし、それらにはすべて一貫したフィールドがあり、ドロップダウンメニューを追加するなど、それらの編集テンプレートを変更できるように、それらのフィールドをテンプレートフィールドにしたいと思います。これは可能ですか?もしそうなら、どのように?:-Dありがとう!
1172 次
1 に答える
2
特定の自動生成された列をテンプレート列に置き換えるには、テンプレート列を定義し、自動生成された列をコードで非表示にします。自動生成された列はデフォルトでテンプレート列の後に表示されるため、それらを適切に配置したい場合は、コードで出力を交換することもできます。
この例では、2 つのテンプレート列と 2 つの自動生成された列 (合計 4 つ) を持つグリッドビューの出力を変更しています。自動生成された最後の列 (インデックス 3) をテンプレート列 (インデックス 1) に置き換えたいのですが、自動生成された列の 1 つ (インデックス 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
これはかなり単純で、追加のクラスは必要ありません。
于 2010-08-19T17:04:48.837 に答える