publisherlistconverter.vb

来自「ASP.NET服务器控件高级编程电子书」· VB 代码 · 共 56 行

VB
56
字号
imports System
imports System.ComponentModel
imports System.ComponentModel.Design
imports System.Data.SqlClient
imports System.Data

Namespace WroxDesignVB.Design

    Public Class PublisherListConverter : Inherits TypeConverter

        Public Sub New()
        End Sub


        Private Shared _publisher As StandardValuesCollection
        'Change to point to your pubs database
        Private Shared _connection As String = "data source=DEVMOVIL\NETSDKinitial catalog=pubspassword=user id=sa"

        Private Function ListInstance() As StandardValuesCollection
            If (_publisher Is Nothing) Then
                Dim ds As DataSet = New DataSet()
                Dim ad As SqlDataAdapter = New SqlDataAdapter("SELECT pub_name FROM publishers", _connection)
                ad.Fill(ds)

                'Build an array and pass it to the StandardValuesCollection constructor
                Dim pubs As String()
                ReDim pubs(ds.Tables(0).Rows.Count)

                Dim i As Integer
                For i = 0 To pubs.Length - 1
                    pubs(i) = ds.Tables(0).Rows(i)(0).ToString()
                Next
                _publisher = New StandardValuesCollection(pubs)
            End If

            Return _publisher
        End Function

        Public Overloads Overrides Function GetStandardValuesSupported(ByVal context As ITypeDescriptorContext) As Boolean
            Return True
        End Function

        Public Overloads Overrides Function GetStandardValuesExclusive(ByVal context As ITypeDescriptorContext) As Boolean
            ' Return false to allow not listed values.      
            Return True
        End Function

        Public Overloads Overrides Function GetStandardValues(ByVal context As ITypeDescriptorContext) As StandardValuesCollection
            Return ListInstance()
        End Function

    End Class
End Namespace


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?