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

  • 相关阅读:
    怎样用HTML5 Canvas制作一个简单的游戏
    js面向对象
    javascript闭包
    javascript变量的作用域
    5-22
    5-23
    14-5-21 硬代码
    14-5-19 类和对象
    array
    生成干扰线
  • 原文地址:https://www.cnblogs.com/goody9807/p/193512.html
Copyright © 2011-2022 走看看