Telerik Rad Combo绑定数据但不显示

本文关键字:显示 数据 绑定 Rad Combo Telerik | 更新日期: 2023-09-27 18:28:18

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

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

在CS 中

在另一个rad组合的Selected Index Changed事件下

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

请注意:

我有25个来自db的项,而数据表dt只有两列,如上所述的NameId。没有抛出任何错误,一切都很好,但结果在UI上不可见。

有什么见解/帮助吗?

Telerik Rad Combo绑定数据但不显示

如果您正在使用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---"));

通过查看您的代码,我知道我的版本可能比您自己的版本更新,但希望以上示例能够演示如何实现所需的更改。

删除DropdownListHeight并再次测试