如何向数据绑定RadComboBox添加额外的RadComboBoxItem?

时间:2011-07-01 17:51:16

标签: telerik radcombobox

我在aspx页面上使用Telerik控件。我有级联radcombo盒(下拉框)。我的页面上有3个。第2个rad组合框的值取决于第1个和第3个,取决于第2个选择。问题是我想在第3个下拉列表中包含一个select all选项。这些值来自数据库,即所有数据都是数据绑定的。如何在组合框中添加“全选”选项?我在c#中使用parameters.insert函数尝试了它,但是不起作用。我尝试添加控件本身,但也没有显示出来。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

简单地创建一个新的RadComboBoxItem并将其添加到RadComboBox。见下面的例子。

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);

修改

通过将我们的代码放在控件的DataBound事件中,确保在绑定控件后添加项目:

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

以下是Telerik的一些文档,解释了如何正确执行此操作:http://www.telerik.com/help/aspnet-ajax/combobox-insert-default-item-when-databinding.html

注意:如果上述方法无效,请确保已设置myComboBox.AppendDataBoundItems = true

答案 1 :(得分:0)

由于OP没有表明对解决方案背后的代码的偏好,我们应该提到声明性方法,它也是完全有效的,并且避免了对DataBound事件处理程序的需要:

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

詹姆斯对Telerik的引用仍然适用于这一个:RadComboBox Items - Declaring the Items In-line

答案 2 :(得分:-1)

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