Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<br /> 'Put user code to initialize the page here<br /> Dim dl As New DataList<br /> dl.HeaderTemplate = New CreateDL(ListItemType.Header)<br /> dl.ItemTemplate = New CreateDL(ListItemType.Item)<br /> dl.AlternatingItemTemplate = New CreateDL(ListItemType.AlternatingItem)<br /> dl.FooterTemplate = New CreateDL(ListItemType.Footer)<br /> Dim d As New Data<br /> dl.DataSource = d.getTree<br /> dl.DataBind()<br /> div1.Controls.Add(dl)</p><p> End Sub</p><p>Public Class CreateDL<br /> Implements ITemplate<br /> Shared itemcount As Integer = 0<br /> Dim TemplateType As ListItemType</p><p> Sub New(ByVal type As ListItemType)<br /> TemplateType = type<br /> End Sub</p><p> Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn<br /> Dim lc As New Literal<br /> Select Case TemplateType<br /> Case ListItemType.Header<br /> lc.Text = "<TABLE border=1><TR><TH>Items</TH></TR>"<br /> Case ListItemType.Item<br /> lc.Text = "<TR><TD>Item number: " '& itemcount.ToString & "</TD></TR>"<br /> AddHandler lc.DataBinding, AddressOf TemplateControl_Databinding<br /> Case ListItemType.AlternatingItem<br /> lc.Text = "<TR><TD bgcolor=lightblue>Item number: " _<br /> & itemcount.ToString & "</TD></TR>"<br /> Case ListItemType.Footer<br /> lc.Text = "</TABLE>"<br /> End Select<br /> container.Controls.Add(lc)<br /> itemcount += 1<br /> End Sub<br /> Private Sub TemplateControl_DataBinding(ByVal sender As Object, _<br /> ByVal e As System.EventArgs)<br /> Dim lc As Literal<br /> lc = CType(sender, Literal)<br /> Dim container As DataListItem<br /> container = CType(lc.NamingContainer, DataListItem)<br /> lc.Text &= DataBinder.Eval(container.DataItem, "text")<br /> lc.Text &= "</TD></TR>"<br /> End Sub</p><p>End Class</p><p>本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/goody9807/archive/2004/10/16/138820.aspx