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