Repeater 创建复杂表头的表格

GridView的功能虽然强大,但在创建复杂表头报表时却显得逊色许多。此时我们应该想起另外一个控件:Repeater。 下面是Repeater的结构:
< asp:Repeater  ID ="Repeater1"  runat ="server" >
    
< HeaderTemplate >
    
</ HeaderTemplate >
    
< ItemTemplate >
    
</ ItemTemplate >
    
< AlternatingItemTemplate >
    
</ AlternatingItemTemplate >
    
< FooterTemplate >
    
</ FooterTemplate >
</ asp:Repeater >

顾名思义,HeaderTemplate为表头模板,ItemTemplate为可重复的项,AlternatingItemTemplate为可重复交替项,FooterTemplate为注脚部部分。
下面给出示例:

1. 前台代码:
< asp:Repeater  ID ="Repeater1"  runat ="server" >
    
< HeaderTemplate >
        
< table  border ="1"  align ="center"  width ="100%"  bordercolorlight ="#a9a9a9"  bordercolordark ="#ffffff"
            cellspacing
="0"  cellpadding ="1"  bordercolor ="#a9a9a9"  style ="text-align: center;" >
            
< tr  bgcolor ="#B5DBFF" >
                
< td  rowspan ="2"  style ="width: 100px" >
                    波段
</ td >
                
< td  rowspan ="2"  style ="width: 100px" >
                    时段
</ td >
                
< td  colspan ="3"  style ="height: 17px;" >
                    第一部分
</ td >
                
< td  colspan ="3"  style ="height: 17px;" >
                    第二部分
</ td >
                
< td  rowspan ="2"  style ="width: 100px" >
                    合计
</ td >
            
</ tr >
            
< tr  bgcolor ="#B5DBFF" >
                
< td  style ="width: 100px; height: 17px;" >
                    一
</ td >
                
< td  style ="width: 100px; height: 17px;" >
                    二
</ td >
                
< td  style ="width: 100px; height: 17px;" >
                    三
</ td >
                
< td  style ="width: 100px; height: 17px;" >
                    四
</ td >
                
< td  style ="width: 100px; height: 17px;" >
                    五
</ td >
                
< td  style ="width: 100px; height: 17px;" >
                    六
</ td >
            
</ tr >
    
</ HeaderTemplate >
    
< ItemTemplate >
        
< tr >
            
< td  style ="width: 100px" >
                
<% Eval ( " ChannelID " %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Time " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Monday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Tuesday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Wednesday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Thursday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Friday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Saturday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Sunday " ) %>
            
</ td >
        
</ tr >
    
</ ItemTemplate >
    
< AlternatingItemTemplate >
        
< tr  style ="background-color: WhiteSmoke;" >
            
< td  style ="width: 100px" >
                
<% Eval ( " ChannelID " %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Time " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Monday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Tuesday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Wednesday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Thursday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Friday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Saturday " ) %>
            
</ td >
            
< td  style ="width: 100px" >
                
<% Eval ( " Sunday " ) %>
            
</ td >
        
</ tr >
    
</ AlternatingItemTemplate >
    
< FooterTemplate >
        
</ table >
    
</ FooterTemplate >
</ asp:Repeater >
< cc1:WebPager  ID ="WebPager1"  runat ="server"  PagerStyle ="NextPrev"  ControlToPaginate ="Repeater1"
    ItemsPerPage
="24"  OnPageIndexChanged ="WebPager1_PageIndexChanged"   />
 
2. 后台代码:
#region  Page事件
DataTest.BLL.GetData myBiz 
=   new  DataTest.BLL.GetData();
protected   void  Page_Load( object  sender, EventArgs e)
{
    
if  ( ! Page.IsPostBack)
    {
        GetData();
        BindGrid();
    }
}
#endregion

#region  Repeater

#region  数据绑定
///   <summary>
///  获取数据
///   </summary>
protected   void  GetData()
{
    
this .DataSource  =  myBiz.GetOrderDetails( " RM_Clocks " ); ;
}

///   <summary>
///  GridView 数据绑定
///   </summary>
private   void  BindGrid()
{
    WebPager1.DataSource 
=   this .DataSource;
    WebPager1.DataBind();
}
#endregion

#region  分页
protected   void  WebPager1_PageIndexChanged( object  sender, wf.WebPager.PageChangedEventArgs e)
{
    WebPager1.CurrentPageIndex 
=  e.NewPageIndex;
    WebPager1.DataSource 
=   this .DataSource;
    WebPager1.DataBind();
}
#endregion

#endregion
 
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值