关于Repeater控件在后台代码中动态创建列以及绑定数据的问题
|
admin
2017年11月17日 0:3
本文热度 6103
|
1 2 3 4 5 6 7 8 9 10 11 12 | < asp:Repeater ID = "rptTest" runat = "server" >
< HeaderTemplate >
< table >
< tr >< th >列名1</ th >< th >列名2</ th >< th >列名3</ th ></ tr >
</ HeaderTemplate >
< ItemTemplate >
< tr >< td ><%#Eval("DataMember1")%></ td >< td ><%#Eval("DataMember1")%></ td >< td ><%#Eval("DataMember1")%></ td ></ tr >
</ ItemTemplate >
< FooterTemplate >
</ table >
</ FooterTemplate >
</ asp:Repeater >
|
上面是一个在前台使用Repeater控件的示例,现在我想做的是做一个判断,比如:传入一个状态值,假如状态值是1的时候,这个repeater只显示列名1和列名2;当状态值是2的时候,只显示列名2和列名3。这样的效果。 我的想法是在前台只放一个<asp:Repeater ID="rptTest" runat="server"></asp:Repeater>控件,在窗体加载的时候,根据页面传入的状态值动态生成模板。
该文章在 2017/11/17 0:03:11 编辑过
| |
全部评论7 |
|
admin
2017年11月17日 0:3
看了MSDN上的解释,Repeater的模板类型都是ITemplate接口,这个ITemplate 接口只有一个方法“void InstantiateIn(Control container);”,这个方法没看明白。 也没有找到这个接口的实现类。不知道用后台代码如何实现动态绑定列,以及绑定对应数据的代码。 如果有其它的控件可以实现这个效果也会采纳。 该评论在 2017/11/17 0:03:40 编辑过
|
|
admin
2017年11月17日 0:4
该评论在 2017/11/17 0:04:24 编辑过
|
|
admin
2017年11月17日 0:4
该评论在 2017/11/17 0:04:40 编辑过
|
|
admin
2017年11月17日 0:5
用下面的方法实现,会不会简单点? 根据传值调用不同的sql 要显示1,2,3为空白的, 执行 select col1,col2,''这里是空白的哦,只是占位符'' from table 要显示2,3,1为空白的, 执行 select ''这里是空白的哦,只是占位符'',col2,col3 from table 然后再绑定到你的repeater 该评论在 2017/11/17 0:05:05 编辑过
|
|
admin
2017年11月17日 0:5
该评论在 2017/11/17 0:05:38 编辑过
|
|
admin
2017年11月17日 0:5
http://download.csdn.net/detail/u010959946/7564621 自己写的 动态生成Repeater,你可以根据需求改一下。 该评论在 2017/11/17 0:05:44 编辑过
|
|
admin
2017年11月17日 0:6
谢谢各位的回答,实现的方式怎么多,我竟然一种都没想到 。尤其是用asp:Literal控件,实现起来很方便。很好理解。 该评论在 2017/11/17 0:06:07 编辑过
|