【发布时间】:2016-06-13 19:35:59
【问题描述】:
我有一个 RadTreeView,它在数据源更改时没有更新。
这是我的 ascx 中的代码。
<div class="demo-container size-thin" style="display: inline-block">
<telerik:RadTreeView RenderMode="Lightweight" ID="AssessmentCriteriaTree" runat="server" Width="200px" Height="620px"
OnClientNodeClicked="OnClientNodeClicked" OnNodeDataBound="AssessmentCriteriaTree_NodeDataBound">
<DataBindings>
<telerik:RadTreeNodeBinding Expanded="True"></telerik:RadTreeNodeBinding>
</DataBindings>
</telerik:RadTreeView>
</div>
在后面的代码中数据绑定发生在这段代码中。
DataTable dtTree = ds.Tables[0];
AssessmentCriteriaTree.DataTextField = "Val";
AssessmentCriteriaTree.DataFieldID = "ID";
AssessmentCriteriaTree.DataFieldParentID = "ParentID";
AssessmentCriteriaTree.DataSource = dtTree;
AssessmentCriteriaTree.DataBind();
当页面最初加载时,树是正确构建的,但是当命中相同的代码来更改数据源时,树不会改变。在调试 OnNodeDataBound 事件时,我可以看到正在处理新数据,因此看起来该部分工作正常。它只是不会在 UI 中更新。
【问题讨论】:
-
如何以及何时设置数据源(Page_Init、控制回发等)?您使用的是 ajax 管理器还是更新面板?
-
此代码在 page_load 中运行。我没有使用 ajax 管理器或更新面板。
标签: c# telerik radtreeview