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
作者Blog:http://blog.csdn.net/goody9807/
|
请发表评论