天天看點

動态變更Repeater控件HeaderTemplate列名

本博文,Insus.NET教你動态實作變更Repeater控件HeaderTemplate列名。一般情況之下,是不需要動态變更,隻有動态有Repeater控件不變情況之下,來顯示多種資料源進行綁定。這樣就得動态變更HeaderTemplate列名,甚至還要動态變更ItemTemplate内的行或列資訊。

在實作這個功能之前,我們得先準備好正常的Repeater控件的顯示,與資料綁定。在網頁中,寫好Repeater:

動态變更Repeater控件HeaderTemplate列名

去.aspx.cs為Repeater控件綁定資料源:

網頁浏覽一下看看效果:

動态變更Repeater控件HeaderTemplate列名

Ok,下面我們來實作動态顯示HeaderTemplate的資訊,為了能動态呈現,得修改一下html的代碼:

Comment out的兩句,并用Literal來替代它們。在Literal控件上,看到有寫OnDataBinding事件。既然有寫此事件,邏輯過程,還得去.aspx.cs來寫。

動态變更Repeater控件HeaderTemplate列名

上面的寫法,#37行代碼,去資料源擷取得有原表字段名稱。

#40 - #42行代碼,是循環産生所有字段名。并動态産生列。

雖然已經算得上是運态産生,但是字段名稱還是原來的名字,如果想更改成另外的别名,那怎樣呢?

那隻有手動定義好這些列名,并放在一個集合中,替而代之是下圖中高亮的代碼行:

動态變更Repeater控件HeaderTemplate列名

再來浏覽看看:

動态變更Repeater控件HeaderTemplate列名

繼續閱讀