ASP.net 2.0 自定义控件的开发之数据分页 第三章

来源:岁月联盟 编辑:zhu 时间:2006-11-28

 下面的代码用于控件的下拉列表属性页

Public Class StoredProcedureNameConverterClass StoredProcedureNameConverter
        Inherits StringConverter
        '存储过程 有兴趣可以添加你自己的存储过程
        '要用下拉列表编辑属性 
        Public Overrides Function GetStandardValuesSupported()Function GetStandardValuesSupported(ByVal context As ITypeDescriptorContext) As Boolean
            Return True
        End Function

        '这个override返回下拉列表项。 
        Public Overrides Function GetStandardValues()Function GetStandardValues(ByVal context As ITypeDescriptorContext) As StandardValuesCollection
            Dim StringArray As ArrayList = New ArrayList()
            StringArray.Add("sys_QuickSortPaging")
            StringArray.Add("sys_SortDataPager")
            Return New StandardValuesCollection(StringArray)
        End Function


        'Return True的话只能选,Return flase可选可填 
        Public Overrides Function GetStandardValuesExclusive()Function GetStandardValuesExclusive(ByVal context As ITypeDescriptorContext) As Boolean
            Return True
        End Function
    End Class

    Public Class ControlToDataBindConverterClass ControlToDataBindConverter
        Inherits StringConverter
        '列出可以绑定的控件
        '要用下拉列表编辑属性 
        Public Overrides Function GetStandardValuesSupported()Function GetStandardValuesSupported(ByVal context As ITypeDescriptorContext) As Boolean
            Return True
        End Function

        '这个override返回下拉列表项。 
        Public Overrides Function GetStandardValues()Function GetStandardValues(ByVal context As ITypeDescriptorContext) As StandardValuesCollection
            Dim StringArray As ArrayList = New ArrayList()
            Dim I As Long
            Dim objControl As ControlCollection
            objControl = CType(context.Container.Components(0), Page).Controls
            For I = 0 To objControl.Count - 1
                If TypeOf objControl(I) Is GridView Or TypeOf objControl(I) Is DataList Then
                    StringArray.Add(objControl(I).ClientID)
                End If
            Next
            Return New StandardValuesCollection(StringArray)
        End Function


        'Return True的话只能选,Return false可选可填 
        Public Overrides Function GetStandardValuesExclusive()Function GetStandardValuesExclusive(ByVal context As ITypeDescriptorContext) As Boolean
            Return False
        End Function
    End Class