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


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