关于Repeater控件在后台代码中动态创建列以及绑定数据的问题
				
									
					
					
						 | 
						
							
							admin 
							
							
								2017年11月17日 0:3
								本文热度 7715
							
							 
						 | 
					
					
				 
				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 编辑过
 
 |  | 
全部评论5 | 
	 | 
	
		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 编辑过 
		 
	 |