【问题标题】:How to add an additional RadComboBoxItem to data bound RadComboBox?如何向数据绑定的 RadComboBox 添加额外的 RadComboBoxItem?
【发布时间】:2011-07-01 17:51:15
【问题描述】:

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

有人可以帮忙吗?

【问题讨论】:

    标签: telerik radcombobox


    【解决方案1】:

    简单地创建一个新的 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

    【讨论】:

    • 嗨,詹姆斯,我试过了。但这确实有效。页面加载正常,但我看不到“全选”选项。
    • 您可能在数据绑定之前就已经这样做了。请参阅上面的编辑。
    • James,我现在可以看到全选选项。 :) 但问题是这些项目在下拉列表中显示了两次,尽管有一个不同的关键字。有什么建议吗?
    • @user819911,我建议使用 SQL 或 LINQ 特定问题打开一个新问题。试图在 cmets 中提供帮助总是很麻烦
    【解决方案2】:

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

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

    James 对 Telerik 的引用仍然适用,加上这个: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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-20
        • 2012-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多