Solved

Web User Control - ListItemCollection

Posted on 2008-06-13
1
666 Views
Last Modified: 2012-06-21
I am using VS 2005 and VB.net. I have a web user control that I have added a drop down list. I would like to add custom property of list item collection. I would like for the property to display in the properties window on visual studio. I can't seem to get this to work. The property displays, but no elipsis to add items to the collection. Any help?
*************html********************
<table>
    <tr>
        <td align="right">
            Filter where:</td>
        <td>
            <asp:DropDownList ID="ddlDimFilt" runat="server" AppendDataBoundItems="True">
            </asp:DropDownList>
        </td>
        <td>
            <asp:DropDownList ID="ddlDimLimiter" runat="server">
                <asp:ListItem Selected="True">Begins with</asp:ListItem>
                <asp:ListItem>Contains</asp:ListItem>
                <asp:ListItem>is Exactly</asp:ListItem>
            </asp:DropDownList>
        </td>
        <td>
            <asp:TextBox ID="txtDimFilter" runat="server" ValidationGroup="DimFilter" Width="128px"></asp:TextBox>
            <asp:RequiredFieldValidator ID="rfvDimFilter" runat="server" ControlToValidate="txtDimFilter"
                ErrorMessage="Filter text required" ValidationGroup="DimFilter">*</asp:RequiredFieldValidator>
        </td>
        <td>
            <asp:Button ID="btnDimFilter" runat="server" Text="Filter" ValidationGroup="DimFilter" />
            <asp:Button ID="btnDimClear" runat="server" Text="Clear" />
        </td>
    </tr>
</table>
 
*************html********************
 
************code behind snippet**************
Public ReadOnly Property Items() As ListItemCollection
        Get
            If Me._cItems Is Nothing Then
                Me._cItems = New ListItemCollection()
            End If
            Return Me._cItems
        End Get
    End Property
 
    Protected Overloads Overrides Sub CreateChildControls()
        If Me._cItems Is Nothing Then
            Me._cItems = New ListItemCollection()
        End If
        If _cItems.Count > 0 Then
            For Each item As ListItem In _cItems
                Me.ddlDimFilt.Items.Add(item)
            Next
        End If
    End Sub
 
    Public Overloads Overrides Sub DataBind()
        CreateChildControls()
        ChildControlsCreated = True
        Me.ddlDimFilt.DataBind()
        MyBase.DataBind()
    End Sub
************code behind snippet**************

Open in new window

0
Comment
Question by:Gary2397
1 Comment
 
LVL 16

Accepted Solution

by:
ororiole earned 500 total points
ID: 21789514
User controls will not give you design time editors thru the ellipsis button. For that you would need to create a custom control (derive from webcontrol) and then implement your design time editor, which is s windows form by deriving from one of the UI editor types.

Since your user control includes a rich set of web controls and layout, your best bet is to stick with the user control and do without the collection design time editor.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question