本博文,Insus.NET教你動态實作變更Repeater控件HeaderTemplate列名。一般情況之下,是不需要動态變更,隻有動态有Repeater控件不變情況之下,來顯示多種資料源進行綁定。這樣就得動态變更HeaderTemplate列名,甚至還要動态變更ItemTemplate内的行或列資訊。
在實作這個功能之前,我們得先準備好正常的Repeater控件的顯示,與資料綁定。在網頁中,寫好Repeater:
去.aspx.cs為Repeater控件綁定資料源:
網頁浏覽一下看看效果:
Ok,下面我們來實作動态顯示HeaderTemplate的資訊,為了能動态呈現,得修改一下html的代碼:
Comment out的兩句,并用Literal來替代它們。在Literal控件上,看到有寫OnDataBinding事件。既然有寫此事件,邏輯過程,還得去.aspx.cs來寫。
上面的寫法,#37行代碼,去資料源擷取得有原表字段名稱。
#40 - #42行代碼,是循環産生所有字段名。并動态産生列。
雖然已經算得上是運态産生,但是字段名稱還是原來的名字,如果想更改成另外的别名,那怎樣呢?
那隻有手動定義好這些列名,并放在一個集合中,替而代之是下圖中高亮的代碼行:
再來浏覽看看: