您的位置:首页 > 编程语言 > ASP

利用Asp.net 动态创建DataList ——C#

2011-06-22 15:23 501 查看
gv.HeaderTemplate= new createDL(ListItemType.Header);
gv.ItemTemplate= new createDL(ListItemType.Item);
gv.AlternatingItemTemplate= new createDL(ListItemType.AlternatingItem);
gv.FooterTemplate= new createDL(ListItemType.Footer);
DataTable dt = new DataTable();
gv.DataSource=dt;
gv.DataBind();

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>";
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: