Forum: ASP.NET |
Thema:
repeater und headertexte... |
Von:
G. Guest (
19.04.2004 14:01) |
hallo!
ich versuche ein repeater-steuerlement zur laufzeit zu erzeugen (mit einer eigenen klasse)
public class MARepeater: ITemplate
{
ListItemType templateType;
public MARepeater(ListItemType type)
{
this.templateType = type;
}
public void InstantiateIn(System.Web.UI.Control container)
{
Literal lc = new Literal();
switch (templateType)
{
case ListItemType.Header:
lc.Text = "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\"><tr><td>";
lc.DataBinding += new EventHandler(TemplateControl_DataBinding);
break;
case ListItemType.Item:
lc.Text = "<tr><td>";
lc.DataBinding += new EventHandler(TemplateControl_DataBinding);
break;
case ListItemType.AlternatingItem:
lc.Text = "<tr><td>Iem number:</td></tr>";
break;
case ListItemType.Footer:
lc.Text = "</table>";
break;
}
container.Controls.Add(lc);
}
private void TemplateControl_DataBinding(object sender, System.EventArgs e)
{
Literal lc = (Literal) sender;
RepeaterItem container = (RepeaterItem)lc.NamingContainer;
lc.Text += container.DataItem;
lc.Text += "</td></tr>";
}
}
die datasource von dem repeater ist eine arraylist, die alle werte enthält die dem user präsentiert werden sollen. so binde ich den repeater an die daten:
rptPreview.HeaderTemplate = new MARepeater(ListItemType.Header);
rptPreview.ItemTemplate = new MARepeater(ListItemType.Item);
rptPreview.DataSource = aList;
rptPreview.DataBind();
wie kann ich nun die headertexte schreiben? diese werden nicht in einem dataset, datatable oder arraylist geführt, sollten aber dynamisch und nicht hardgecodet sein!
DANKE
atmosfear
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!