all groups > asp.net building controls > october 2006 >
You're in the

asp.net building controls

group:

How to display a property of a custom control with a dropdown styl


How to display a property of a custom control with a dropdown styl Kay
10/25/2006 2:35:02 AM
asp.net building controls:
Hello,

I have written my own custom control and I want one of its properties to
display as a dropdown list when clicked, so the user can select from the
list, it would be similar to the asp textbox control which has a ‘TextMode’
property and when clicked on, displays as a dropdown list with 3 values, I
want to have a similar type property with a dropdown style.

So far, I have a property defined which displays the dropdown arrow when
clicked but does not expand, I also do not know how to populate the dropdown.
The dropdown needs to be populated with values read from the DB, the values
can be read into a Dataset/datareader (which I can do), so I need to know how
to bind these to a dropdown and have the dropdown assigned to the property.
So far I have the following:

1. My control

Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.ComponentModel
Imports System.Text
Imports System.Drawing
Imports UniversalDropdownEditor


Namespace CustomAddressControl

<DefaultProperty("Title"), ToolboxData("<{0}:Address
runat=server></{0}:Address>")> _
Public Class Address
Inherits System.Web.UI.WebControls.WebControl

Private iDataSource As String


<Description("The source/origin of the data."), _
Editor(GetType(EntryModeEditor), _
GetType(System.Drawing.Design.UITypeEditor))> _
Public Property DataSource() As String
Get
Return iDataSource
End Get
Set(ByVal Value As String)
iDataSource = Value
End Set
End Property

…………..

2. My EntryModeEditor Class

Imports System
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing
Imports System.Drawing.Design
Imports System.Windows.Forms


Imports System.Windows.Forms.Design
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Public Class EntryModeEditor
Inherits System.Drawing.Design.UITypeEditor

Public Overloads Overrides Function EditValue(ByVal context As
System.ComponentModel.ITypeDescriptorContext, ByVal provider As
IServiceProvider, ByVal value As Object) As Object

Dim returnValue As Object = value
If Not (provider Is Nothing) Then

‘I DO NOT KNOW WHAT SHOULD GO IN HERE, TO POPULATE THE DROPDOWN AND GET OUT
THE VALUE THAT WAS SELECTED

End If
Return value
End Function


Public Overloads Overrides Function GetEditStyle(ByVal context As _
System.ComponentModel.ITypeDescriptorContext) As _
System.Drawing.Design.UITypeEditorEditStyle
If context Is Nothing Then
Return MyBase.GetEditStyle(context)
Else
Return System.Drawing.Design.UITypeEditorEditStyle.DropDown
End If

End Function

End Class

Any help/suggestions would be gratefully appreciated.

Thanks,
Kay.
Re: How to display a property of a custom control with a dropdown styl Teemu Keiski
10/25/2006 8:17:57 PM
Hi,

if the selection list is predefined e.g like TextMode is, just have it as
enum type. It has the selection list applied automatically (quite simple)

--
Teemu Keiski
ASP.NET MVP, AspInsider
Finland, EU
http://blogs.aspadvice.com/joteke



[quoted text, click to view]

Re: How to display a property of a custom control with a dropdown styl Teemu Keiski
10/25/2006 8:19:11 PM
And now I saw the db stuff. You can create a type converter

http://msdn2.microsoft.com/en-us/library/ayybcxe5.aspx


--
Teemu Keiski
ASP.NET MVP, AspInsider
Finland, EU
http://blogs.aspadvice.com/joteke

[quoted text, click to view]

AddThis Social Bookmark Button