动态生成Repeater

 

 

ExpandedBlockStart.gif 代码
 1  public   class  MyTemplate : ITemplate
 2      {
 3          System.Web.UI.WebControls.ListItemType templateType;
 4           static   int  titleLength;
 5           public  MyTemplate(System.Web.UI.WebControls.ListItemType type)
 6          {
 7              templateType  =  type;
 8          }
 9 
10           public   void  InstantiateIn(System.Web.UI.Control container)
11          {
12              PlaceHolder ph  =   new  PlaceHolder();
13              Label item1  =   new  Label();
14              HyperLink item2  =   new  HyperLink();
15              Label item3  =   new  Label();
16              item1.ID  =   " item1 " ;
17              item2.ID  =   " item2 " ;
18 
19               switch  (templateType)
20              {
21                   case  ListItemType.Header:
22                      ph.Controls.Add( new  LiteralControl( " <table border=\ " 0 \ " > " )); 
23                       break ;
24                   case  ListItemType.Item:
25                      ph.Controls.Add( new  LiteralControl( " <tr><td> " ));
26                      ph.Controls.Add(item2);
27                      ph.Controls.Add( new  LiteralControl( " </td><td> " ));
28                      ph.Controls.Add(item1);
29                      ph.Controls.Add( new  LiteralControl( " </td></tr> " ));
30                      ph.DataBinding  +=   new  EventHandler(Item_DataBinding);
31                       break ;
32                   case  ListItemType.AlternatingItem:
33                      ph.Controls.Add( new  LiteralControl( " <tr><td> " ));
34                      ph.Controls.Add(item2);
35                      ph.Controls.Add( new  LiteralControl( " </td><td> " ));
36                      ph.Controls.Add(item1);
37                      ph.Controls.Add( new  LiteralControl( " </td></tr> " ));
38                      ph.DataBinding  +=   new  EventHandler(Item_DataBinding);
39                       break ;
40                   case  ListItemType.Footer:
41                      ph.Controls.Add( new  LiteralControl( " </table> " ));
42                       break ;
43              }
44              container.Controls.Add(ph);
45          }
46 
47           static   void  Item_DataBinding( object  sender, System.EventArgs e)
48          {
49              PlaceHolder ph  =  (PlaceHolder)sender;
50              RepeaterItem ri  =  (RepeaterItem)ph.NamingContainer;
51              DateTime item1Value  =  (DateTime)DataBinder.Eval(ri.DataItem,  " PublishDate " );
52              String item2Value  =  (String)DataBinder.Eval(ri.DataItem,  " Title " );
53              ((Label)ph.FindControl( " item1 " )).Text  =  item1Value.ToString( " yyyy-MM-dd " );
54          }
55      }

 

 

 

 

 

ExpandedBlockStart.gif 代码
1  Repeater noticeRepeater  =   new  Repeater();
2  List < DemoClass >  noticeList  =   new  List < DemoClass > ();
3 
4 
5  noticeRepeater.HeaderTemplate  =   new  MyTemplate(ListItemType.Header);
6  noticeRepeater.ItemTemplate  =   new  MyTemplate(ListItemType.Item);
7  noticeRepeater.AlternatingItemTemplate  =   new  MyTemplate(ListItemType.AlternatingItem);
8  noticeRepeater.FooterTemplate  =   new  MyTemplate(ListItemType.Footer);

 

 

转载于:https://www.cnblogs.com/zjz008/archive/2010/10/30/1864912.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值