-->

How to add an additional RadComboBoxItem to data b

2019-08-11 17:03发布

问题:

I am using Telerik controls on my aspx page. I have cascading radcombo boxes(dropdown box). I have 3 of them on my page. the values of 2nd rad combo box depends on the 1st and the 3rd depends on selection of 2nd. The thing is that i want to include a select all option in the 3rd dropdown. The values are coming from a database i.e all of them are data bound. How can i add a 'select all' option in the combo boxes? i tried it using parameters.insert function in c#, but does not work. i tried adding in the control itself but not showing up with that either.

Can someone please help?

回答1:

Simple create a new RadComboBoxItem and add it to the RadComboBox. See example below.

RadComboBoxItem myItem = new RadComboBoxItem();
myItem.Text = "Select All";
myItem.Value = "SelectAll";

//Add it as the last item
myComboBox.Items.Add(myItem);

//OR

/Add it as the first item
myComboBox.Insert(0, myItem);

EDIT

Make sure you're adding the item after the control has been bound by putting our code in the DataBound event of the control:

protected void RadComboBox1_DataBound(object sender, EventArgs e) 
{ 
    var combo = (RadComboBox)sender; 
    combo.Items.Insert(0, new RadComboBoxItem("Select All", "SelectAll")); 
}

Here's some documentation from Telerik that explains how to do this properly: http://www.telerik.com/help/aspnet-ajax/combobox-insert-default-item-when-databinding.html.

NOTE: If the above method does not work, make sure you have set myComboBox.AppendDataBoundItems = true.



回答2:

Since the OP doesn't indicate a preference for a code behind solution we should mention the declarative approach which is also totally valid and avoids the need for the DataBound event handler:

<telerik:RadComboBox ID="RadComboBox1" runat="server" DataSourceID="SomeDataSource" AppendDataBoundItems="true" ... >
    <Items>
        <telerik:RadComboBoxItem Text="Select All" Value="Select All" />
    </Items>
</telerik:RadComboBox>

James' reference to Telerik still applies plus this one: RadComboBox Items - Declaring the Items In-line



回答3:

Protected Sub CreateSelectAllUsersCheckBox()
        Dim chkSelectAllUsers As New CheckBox
        chkSelectAllUsers.Text = "Select All Users"
        chkSelectAllUsers.ID = "chk1"
        Dim radComboBoxItem As New RadComboBoxItem
        radComboBoxItem.Text = "Select All Users"  
    radComboBoxItem.Controls.Add(chkSelectAllUsers)    
        cmbRoleName.Items.Insert(0, radComboBoxItem)

        radComboBoxItem.DataBind()
    End Sub