當前位置: 首頁>>代碼示例>>VB.NET>>正文


VB.NET TableCallback代理代碼示例

本文整理匯總了VB.NET中System.Web.UI.WebControls.WebParts.TableCallback代理的典型用法代碼示例。如果您正苦於以下問題:VB.NET TableCallback代理的具體用法?VB.NET TableCallback怎麽用?VB.NET TableCallback使用的例子?那麽, 這裏精選的代理代碼示例或許可以為您提供幫助。


在下文中一共展示了TableCallback代理的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的VB.NET代碼示例。

示例1: New

' 導入命名空間
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Reflection
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

'This sample code creates a Web Parts control that acts as a provider of table data.
Namespace Samples.AspNet.VB.Controls

    Public NotInheritable Class TableProviderWebPart
        Inherits WebPart
        Implements IWebPartTable

        Private _table As DataTable


        Public Sub New()
            _table = New DataTable()

            Dim col As New DataColumn()
            col.DataType = GetType(String)
            col.ColumnName = "Name"
            _table.Columns.Add(col)

            col = New DataColumn()
            col.DataType = GetType(String)
            col.ColumnName = "Address"
            _table.Columns.Add(col)

            col = New DataColumn()
            col.DataType = GetType(Integer)
            col.ColumnName = "ZIP Code"
            _table.Columns.Add(col)

            Dim row As DataRow = _table.NewRow()
            row("Name") = "John Q. Public"
            row("Address") = "123 Main Street"
            row("ZIP Code") = 98000
            _table.Rows.Add(row)

        End Sub

        <ConnectionProvider("Table")> _
        Public Function GetConnectionInterface() As IWebPartTable
            Return New TableProviderWebPart()

        End Function 'GetConnectionInterface

        Public ReadOnly Property Schema() As PropertyDescriptorCollection _
            Implements IWebPartTable.Schema
            Get
                Return TypeDescriptor.GetProperties(_table.DefaultView(0))
            End Get
        End Property

        Public Property ConnectionPointEnabled() As Boolean
            Get
                Dim o As Object
                o = ViewState("ConnectionPointEnabled")
                If Not (o Is Nothing) Then
                    Return CBool(o)
                Else
                    Return True
                End If

            End Get
            Set(ByVal value As Boolean)
                ViewState("ConnectionPointEnabled") = value
            End Set
        End Property

        Public Sub GetTableData(ByVal callback As TableCallback) _
            Implements IWebPartTable.GetTableData
            callback(_table.Rows)

        End Sub
    End Class

End Namespace
開發者ID:VB.NET開發者,項目名稱:System.Web.UI.WebControls.WebParts,代碼行數:82,代碼來源:TableCallback

示例2: GetTableData

' 導入命名空間
Imports System.ComponentModel
Imports System.Reflection
Imports System.Collections
Imports System.Data
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Namespace Samples.AspNet.VB.Controls

    Public Class TableConsumerWebPart
        Inherits WebPart

        Private _provider As IWebPartTable
        Private _tableData As ICollection

        Private Sub GetTableData(ByVal tableData As ICollection)
            _tableData = CType(tableData, ICollection)

        End Sub

        Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
            If Not (_provider Is Nothing) Then
                _provider.GetTableData((New TableCallback(AddressOf GetTableData)))
            End If
            'MyBase.OnPreRender(e)

        End Sub

        Protected Overrides Sub RenderContents(ByVal writer As HtmlTextWriter)

            If Not (_provider Is Nothing) Then
                Dim props As PropertyDescriptorCollection = _provider.Schema
                Dim count As Integer = 0

                If Not (props Is Nothing) AndAlso props.Count > 0 _
                  AndAlso Not (_tableData Is Nothing) Then
                    For Each prop As PropertyDescriptor In props
                        For Each o As DataRow In _tableData
                            writer.Write(prop.DisplayName & ": " & o(count).ToString())
                        Next
                        writer.WriteBreak()
                        writer.WriteLine()
                        count = count + 1
                    Next
                Else
                    writer.Write("No data")
                End If
            Else
                writer.Write("Not connected")
            End If

        End Sub

        <ConnectionConsumer("Table")> _
        Public Sub SetConnectionInterface(ByVal provider As IWebPartTable)
            _provider = provider

        End Sub

        Private Class TableConsumerConnectionPoint
            Inherits ConsumerConnectionPoint

            Public Sub New(ByVal callbackMethod As MethodInfo, _
              ByVal interfaceType As Type, ByVal controlType As Type, _
              ByVal name As String, ByVal id As String, _
              ByVal allowsMultipleConnections As Boolean)
                MyBase.New(callbackMethod, interfaceType, controlType, _
                  name, id, allowsMultipleConnections)

            End Sub
        End Class
    End Class

End Namespace
開發者ID:VB.NET開發者,項目名稱:System.Web.UI.WebControls.WebParts,代碼行數:76,代碼來源:TableCallback


注:本文中的System.Web.UI.WebControls.WebParts.TableCallback代理示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。