您的位置:首页 > 其它

使用Repeater的Template

2006-08-14 23:47 357 查看
NET FX提供了一个方法,就是使用Template来在程序运行时对Repeater的显示进行控制.
这里我就不多说了,可以去看MSDN中的相关资料.(嘿嘿,其实我也没搞多少 this.Repeater1.DataSource = reader;
this.Repeater1.HeaderTemplate = new ShowDataTemplate(ListItemType.Header,DataControlerType.Repeater,new ShowDataTemplateDelegate(TempHeader));
this.Repeater1.FooterTemplate = new ShowDataTemplate(ListItemType.Footer,DataControlerType.Repeater);
this.Repeater1.ItemTemplate = new ShowDataTemplate(ListItemType.Item,DataControlerType.Repeater,new ShowDataTemplateDelegate(TempItem));
this.Repeater1.AlternatingItemTemplate = new ShowDataTemplate(ListItemType.AlternatingItem,DataControlerType.Repeater,new ShowDataTemplateDelegate(TempAlternatingItem));
this.Repeater1.DataBind();

private void TempHeader (object container,Literal lc,string[] columnNames)
{
int index = -1;
lc.Text += "<table style=\"BORDER-COLLAPSE: collapse\" borderColor=\"#dcdcdc\" cellSpacing=\"0\" cellPadding=\"4\" rules=\"none\" frame=\"box\"><TR>";
foreach(string i in columnNames)
{
index++;
if(i == "ID"){
continue;
}
lc.Text += "<TD class=\"frmHeader\" style=\"BORDER-RIGHT: white 2px solid\" background=\"#dcdcdc\">" + columnShows[index] + "</TD>";
}
lc.Text += "</TR>";
}

private void TempItem (object container,Literal lc,string[] columnNames)
{
string id = "";
lc.Text += "<TR>";
foreach(string i in columnNames)
{
if(i == "ID"){
id = (string)DataBinder.Eval(container,"DataItem."+i);;
continue;
}
lc.Text += "<TD class=\"frmText\">";
if(i == "Modify")
{
lc.Text += "<a href=Modify.aspx?ID=" + id + ">修改</a>";
}
else if(i == "Name" || i == "Title"){
lc.Text += "<a href=View.aspx?ID=" + id + ">" + (string)DataBinder.Eval(container,"DataItem."+i) + "</a>";
}
else{
lc.Text += DataBinder.Eval(container,"DataItem."+i);
}

lc.Text += "</TD>";
}
lc.Text += "</TR>";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: