gv.HeaderTemplate= new createDL(ListItemType.Header);<br /> gv.ItemTemplate= new createDL(ListItemType.Item);<br /> gv.AlternatingItemTemplate= new createDL(ListItemType.AlternatingItem);<br /> gv.FooterTemplate= new createDL(ListItemType.Footer);<br /> DataTable dt = new DataTable();<br /> gv.DataSource=dt;<br /> gv.DataBind();</p><p> public class createDL:ITemplate<br /> {<br /> public int itemcount=0;<br /> ListItemType TemplateType;<br /> public createDL(ListItemType type)<br /> {<br /> TemplateType = type;<br /> }<br /> public void InstantiateIn(Control container)<br /> {<br /> Literal lc = new Literal();<br /> switch (TemplateType)<br /> {<br /> case ListItemType.Header:<br /> lc.Text="<TABLE border=1><TR><TH>Items</TH></TR>";<br /> break;<br /> case ListItemType.Item:<br /> lc.Text = "<TR><TD>Item number: " + itemcount.ToString()+"</TD></TR>";<br /> lc.DataBinding += new EventHandler(TemplateControl_Databinding);<br /> break;<br /> case ListItemType.AlternatingItem:<br /> lc.Text = "<TR><TD bgcolor=lightblue>Item number: " + itemcount.ToString() + "</TD></TR>";<br /> break;<br /> case ListItemType.Footer:<br /> lc.Text = "</TABLE>";<br /> break;<br /> }<br /> container.Controls.Add(lc);<br /> itemcount += 1;<br /> }<br /> public void TemplateControl_Databinding(object sender, System.EventArgs e)<br /> {<br /> Literal lc=(Literal)sender;<br /> DataListItem container = (DataListItem)lc.NamingContainer;<br /> lc.Text = lc.Text + DataBinder.Eval(container.DataItem, "Name");<br /> lc.Text += "</TD></TR>";<br /> }</p><p> }