【问题标题】:Telerik Rad Combo binding data but not displayingTelerik Rad Combo 绑定数据但不显示
【发布时间】:2013-08-18 21:12:25
【问题描述】:

我的表单上有一个 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 上不可见。

任何见解/帮助?

【问题讨论】:

  • 这是在整页回发期间,还是在 Ajax 回发期间?如果它是 Ajax,并且您使用的是 radajaxmanager 或 radajaxproxy,请确保您的控件在更新的控件列表中。
  • @ObsidianPhoenix 它发生在整页回发期间...我没有使用任何 radajaxmgr 或 prxy
  • UI 上是否显示任何内容?你有任何标记呈现吗?
  • 当我在这里尝试时,您的代码似乎可以正常工作。您可以尝试使用ddl.AppendDataBoundItems();,看看是否有什么不同。 RadCombo 是一个相当老的控件版本(它在 Telerik 的较新版本中是 RadComboBox),所以它可能是旧版本中的一些错误 - 取决于您拥有的版本到底有多旧)。
  • 尝试在 ddl.Items.Insert 行之后抛出异常或其他内容,以查看 ddl 上的项目计数。让我们先仔细检查一下它不是空的。

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


【解决方案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---"));

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

【讨论】:

    【解决方案2】:

    删除 DropdownListHeight 并再次测试

    【讨论】:

      猜你喜欢
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-25
      • 2018-02-20
      • 2013-05-29
      相关资源
      最近更新 更多