本博文,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行代码,是循环产生所有字段名。并动态产生列。
虽然已经算得上是运态产生,但是字段名称还是原来的名字,如果想更改成另外的别名,那怎样呢?
那只有手动定义好这些列名,并放在一个集合中,替而代之是下图中高亮的代码行:
再来浏览看看: