启用EnableAutomaticLoadOnDemand时,无法以编程方式从RadComboBox中进行选择

时间:2018-01-23 23:07:40

标签: c# asp.net telerik

在将EnableAutomaticLoadOnDemand设置为true后,我无法以编程方式为Telerik RadComboBox设置选择。如果设置为false,我可以。我怀疑,因为在用户键入之前,项目尚未加载到ComboBox中,因此ComboBox没有对正在选择的文本/值/索引的任何引用。这是我的情况:

在页面加载时,我希望根据变量选择RadComboBox项目:

int userID = 1;
RadComboBox1.SelectedValue = userID.ToString();

在运行时设置断点时,userID有一个值,但RadComboBox1.SelectedValue保持未分配为“”。

RadComboBox的数据源是一个ObjectDataSource,其中Text和Value字段设置得恰当。是否有理由启用自动按需加载会阻止RadComboBox的选择被分配?

我的aspx看起来像这样:

<telerik:RadComboBox runat="server" ID="RadComboBox1" DataTextField="SomeName" DataValueField="SomeID" Filter="Contains" AppendDataBoundItems="True" DataSourceID="ObjectDataSource1" AutoPostBack="True" OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged" ShowMoreResultsBox="True" EnableAutomaticLoadOnDemand="True">
    <Items><telerik:RadComboBoxItem/></Items>
</telerik:RadComboBox>

1 个答案:

答案 0 :(得分:0)

<telerik:RadComboBox runat="server" ID="RadComboBox1" 
    DataTextField="SomeName" DataValueField="SomeID" 
    Filter="Contains" AppendDataBoundItems="True" 
    DataSourceID="ObjectDataSource1" 
    AutoPostBack="True" 
    OnSelectedIndexChanged="RadComboBox1_SelectedIndexChanged" 
    ShowMoreResultsBox="True" 
    EnableAutomaticLoadOnDemand="True">
</telerik:RadComboBox>


if(RadComboBox1.Items.FindItemByValue(userID.ToString()) != null)
    RadComboBox1.Items.FindItemByValue(userID.ToString()).Selected = true;