我有一个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中更新。
答案 0 :(得分:0)
当基础数据源发生变化时,您应该在树视图上调用DataBind()来刷新其数据。
答案 1 :(得分:0)
在页面的另一部分中,按钮用于触发对数据源的更新。它在RadAjaxPanel中。我的treeView不在RadAjaxPanel中。我把它移到里面,它现在正在刷新。