1

グリッドビュー用にいくつかのsqldatasourcesがあります。すべての列が自動生成されます。ただし、それらにはすべて一貫したフィールドがあり、ドロップダウンメニューを追加するなど、それらの編集テンプレートを変更できるように、それらのフィールドをテンプレートフィールドにしたいと思います。これは可能ですか?もしそうなら、どのように?:-Dありがとう!

4

1 に答える 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 に答える