How to display/populate a property of a custom control with a dropdown style

K

Kay O'Keeffe

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top