zoukankan      html  css  js  c++  java
  • [转贴]利用Asp.net 动态创建DataList,通过继承 ITemplate

    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

  • 相关阅读:
    10分钟搞懂树状数组
    POJ3278 爆搜,不要像我一样作死就好
    POJ3278 爆搜,不要像我一样作死就好
    UVA 12174 播放器,滑动窗口
    UVA 12174 播放器,滑动窗口
    UVA 12627 气球胀啊胀
    UVA 12627 气球胀啊胀
    UVALive 4487 异或 并查集
    UVALive 4487 异或 并查集
    paste指令的使用
  • 原文地址:https://www.cnblogs.com/goody9807/p/193512.html
Copyright © 2011-2022 走看看