1
我有幾個sqldatasources爲我的gridview。所有的列都是自動生成的。然而,他們都有一些一致的領域,我想這些領域的模板字段,所以我可以修改他們的編輯模板,如添加下拉菜單。這可能嗎?如果是這樣,怎麼樣? :-D謝謝!Gridview結合自動生成的字段和模板字段
我有幾個sqldatasources爲我的gridview。所有的列都是自動生成的。然而,他們都有一些一致的領域,我想這些領域的模板字段,所以我可以修改他們的編輯模板,如添加下拉菜單。這可能嗎?如果是這樣,怎麼樣? :-D謝謝!Gridview結合自動生成的字段和模板字段
要用模板列替換特定的自動生成的列,只需定義模板列並在代碼中隱藏自動生成的列。自動生成的列將默認顯示在模板列之後,因此如果您希望它們被正確放置,您也可以在代碼中交換輸出。
在這個例子中,我改變了gridview的輸出,該gridview有兩個模板列和兩個自動生成的列,總共爲4個。我想用模板列(index)替換最後一個自動生成的列(索引3) 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
這很簡單,不需要任何額外的類。
是否有方法通過名稱設置可見性?不幸的是,雖然列是一致的,但並不總是處於相同的位置。 – Shawn 2010-08-20 17:11:32
按名稱獲取指數: 昏暗X作爲整數 昏暗Ÿ作爲Data.DataRowView Y = e.Row.DataItem X = y.Row.Table.Columns.IndexOf( 「狀態」) 不幸的是設置的知名度,只對該行爲false,所以所有的列都不匹配。我必須找出隱藏整個列而不是單元格的方法。 – Shawn 2010-08-23 17:23:09