Telerik Rad Combo绑定数据但不显示

时间:2013-08-18 21:12:25

标签: c# asp.net data-binding telerik radcombobox

我的表格上有一个telerik rad组合

<radC:RadCombo ID="ddl" runat="server" DropdownListHeight="200px"/>

在CS中

在另一个rad组合的选定索引更改事件

var dt = myFunc();
ddl.DataTextField="Name";
ddl.DataValueField="Id";
ddl.DataSource=dt;
ddl.Databind();
ddl.Items.Insert(0,new RadComboBoxItem ("-1","---Choose---"));

请注意:

我有来自db的25个项目,数据表dt只有两列NameId,如上所述。没有错误被抛出,一切都很顺利,但结果在UI上看不到。

任何见解/帮助?

2 个答案:

答案 0 :(得分:1)

如果您正在使用RadAjaxManager / RadAjaxManagerProxy,您确定第一个下拉列表将更新第二个下拉列表:

<telerik:RadAjaxManagerProxy ID="ajaxManager" runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="ddlWithOnChangeEvent">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="ddlBeingUpdated" />
            </UpdatedControls>
        </telerik:AjaxSetting>
        ...
    </AjaxSettings>
</telerik:RadAjaxManagerProxy>

值得关注的下一点是你应该将AppendDataBoundItems设置为true,这样就可以将两个数据绑定对象添加到组合框以及手动添加的对象中。

<telerik:RadComboBox ID="ddlBeingUpdated" runat="server" Height="200px" AppendDataBoundItems="true" />

值得指出的一件事是,如果保持功能不变,每次数据绑定时,它只会将新项目再次添加到现有列表中。我建议在添加新功能之前更改该功能以清除之前的任何项目。

var dt = myFunc();
ddlBeingUpdated.Items.Clear();
ddlBeingUpdated.DataTextField="Name";
ddlBeingUpdated.DataValueField="Id";
ddlBeingUpdated.DataSource=dt;
ddlBeingUpdated.Databind();

ddl.Items.Insert(0,new RadComboBoxItem ("-1","---Choose---"));

我知道,看看你的代码,我的版本可能比你自己的版本更新,但希望上面的例子可以证明你如何实现所需的更改。

答案 1 :(得分:0)

删除DropdownListHeight并再次测试