using System ;using System.Data ;using System.Web.UI ;using System.Web.UI.WebControls ;namespace WebApplication1...{ /**//// <summary> /// WebForm1 的摘要说明。 /// </summary> public class WebForm1 : Page ...{ protected Repeater Repeater1 ; private void Page_Load ( object sender , EventArgs e ) ...{ Repeater1.HeaderTemplate = new CreateDL ( ListItemType.Header ) ; Repeater1.ItemTemplate = new CreateDL ( ListItemType.Item ) ; Repeater1.AlternatingItemTemplate = new CreateDL ( ListItemType.AlternatingItem ) ; Repeater1.FooterTemplate = new CreateDL ( ListItemType.Footer ) ; CreateDL.Fields ( CreateTable().Columns ) ; Repeater1.DataSource = CreateTable ( ) ; Repeater1.DataBind ( ) ; } private static DataTable CreateTable ( ) ...{ DataTable dt = new DataTable ( "Test" ) ; dt.Columns.Add ( "ID" , typeof ( int ) ) ; dt.Columns.Add ( "xm" , typeof ( string ) ) ; dt.Columns.Add ( "xb" , typeof ( string ) ) ; dt.Columns.Add ( "age" , typeof ( int ) ) ; dt.Columns.Add ( "gz" , typeof ( int ) ) ; for ( int i = 0 ; i < 100 ; i++ ) ...{ DataRow dr = dt.NewRow ( ) ; dr [ 0 ] = i ; dr [ 1 ] = "a" + i ; if ( i % 2 == 0 ) ...{ dr [ 2 ] = "女" ; } else ...{ dr [ 2 ] = "男" ; } dr [ 3 ] = 12 + i ; dr [ 4 ] = 2500 * i ; dt.Rows.Add ( dr ) ; } return dt ; } Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码 protected override void OnInit ( EventArgs e ) ...{ // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent ( ) ; base.OnInit ( e ) ; } /**//// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent ( ) ...{ this.Load += new EventHandler ( this.Page_Load ) ; } #endregion }}using System ;using System.Web.UI ;using System.Web.UI.WebControls ;using System.Data;namespace WebApplication1...{ /**//// <summary> /// Class1 的摘要说明。 /// </summary> public class CreateDL : ITemplate ...{ private ListItemType TemplateType ; private ListItemType LIT ; private static DataColumnCollection FieldColumn ; public CreateDL ( ListItemType type ) ...{ TemplateType = type ; } public static DataColumnCollection Fields(DataColumnCollection DC) ...{ FieldColumn = DC ; return DC; } public void InstantiateIn ( Control container ) ...{ Literal lc = new Literal ( ) ; if ( TemplateType == ListItemType.Header ) ...{ lc.Text = "<table id="table1" style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体" cellSpacing="0" borderColorDark="#ffffff" width="623" borderColorLight="#000000" border="1"><tr><td align="middle" width="98" rowSpan="2">序号</td><td align="middle" colSpan="4">详细资料</td></tr><tr><td width="128" align="center">姓名</td><td width="129" align="center">性别</td><td width="129" align="center">年龄</td><td width="129" align="center">工资</td></tr>" ; } else if ( TemplateType == ListItemType.Item ) ...{ ItemType = ListItemType.Item ; lc.DataBinding += new EventHandler ( TemplateControl_Databinding ) ; } else if ( TemplateType == ListItemType.AlternatingItem ) ...{ ItemType = ListItemType.AlternatingItem ; lc.DataBinding += new EventHandler ( TemplateControl_Databinding ) ; } else if ( TemplateType == ListItemType.Footer ) ...{ lc.Text = "</TABLE>" ; } container.Controls.Add ( lc ) ; } private ListItemType ItemType ...{ get ...{ return LIT ; } set ...{ LIT = value ; } } private void TemplateControl_Databinding ( object sender , EventArgs e ) ...{ Literal lc ; lc = ( Literal ) sender ; RepeaterItem container ; container = ( RepeaterItem ) lc.NamingContainer ; lc.Text = "<TR>" ; for(int i=0;i<FieldColumn.Count;i++) ...{ if ( ItemType == ListItemType.Item ) ...{ lc.Text += "<TD>" ; } if ( ItemType == ListItemType.AlternatingItem ) ...{ lc.Text += "<TD bgcolor="#F7F7F7">" ; } lc.Text += DataBinder.Eval ( container.DataItem ,FieldColumn[ i ].ColumnName ) ; lc.Text += "</TD>" ; if ( i ==FieldColumn.Count ) ...{ lc.Text += "</TR>" ; } } } }}