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