ASP.net 2.0 自定义控件的开发之数据分页 第三章
来源:岁月联盟
时间: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











