如何刷新RadTreeView

时间:2016-06-13 19:36:00

标签: c# telerik radtreeview

我有一个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中更新。

2 个答案:

答案 0 :(得分:0)

当基础数据源发生变化时,您应该在树视图上调用DataBind()来刷新其数据。

答案 1 :(得分:0)

在页面的另一部分中,按钮用于触发对数据源的更新。它在RadAjaxPanel中。我的treeView不在RadAjaxPanel中。我把它移到里面,它现在正在刷新。