在多选RadComboBox中设置“选定项”

时间:2012-11-18 21:34:12

标签: asp.net vb.net telerik radcombobox

我们有什么办法可以在多选RadComboBox中设置选定项目或检查项目吗?我想在服务器回发时设置值。

我尝试了以下代码,但仅当它不是多选RadComboBox时才有效。

Radbox1.SelectedValue = "123"

我的前端代码。

<telerik:RadComboBox ID="Radbox1" runat="server" CheckBoxes="true" EnableCheckAllItemsCheckBox="true" Width="300" Height="200" AutoPostBack="True" OnSelectedIndexChanged="Radbox1_SelectedIndexChanged" />

我在Radbox1中有价值,它将从数据库中填充。

谢谢, 拉胡尔

3 个答案:

答案 0 :(得分:9)

当Radcombobox设置为允许通过复选框进行多项选择时,您必须使用每个项目选中属性。

我在这里使用一个列表来模拟我希望在回发时标记的项目。您可以预填充此列表,甚至可以从数据库加载:

enter image description here

答案 1 :(得分:2)

protected void RadComboBox1_ItemDataBound(object sender, RadComboBoxItemEventArgs e)
{
    if ("YourString" == e.Item.Text))
    {
        e.Item.Checked = true;
    }
}

或者

protected void RadComboBox1_ItemDataBound(object sender, RadComboBoxItemEventArgs e)
{
    List<String> yourStringList = new List<String>() {"string1","string2"};
    if (yourStringList.Contains(e.Item.Text))
    {
         e.Item.Checked = true;
    }
}

答案 2 :(得分:2)

我做过这样的事情; Machine_Serial_Numbers telerik:RadComboBox ;

foreach (var machine in bulletinData.Machines)
        {
            var comboItem = Machine_Serial_Numbers.FindItemByValue(machine.Id.ToString());

            if (comboItem != null)
            {
                comboItem.Checked = true;
            }                
        }

这对我有用。

enter image description here