• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 675
  • Last Modified:

Web User Control - ListItemCollection

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
Gary2397
Asked:
Gary2397
1 Solution
 
ororioleCommented:
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

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now