如何刷新我的 RadTreeView
How do I refresh my 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.
中更新
当基础数据源发生变化时,您应该在树视图上调用 DataBind() 以刷新其数据。
在页面的另一个部分中,按钮用于触发对数据源的更新。它在 RadAjaxPanel 中。我的 treeView 不在 RadAjaxPanel 内。我把它移到了里面,现在它正在刷新。
我有一个 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.
中更新当基础数据源发生变化时,您应该在树视图上调用 DataBind() 以刷新其数据。
在页面的另一个部分中,按钮用于触发对数据源的更新。它在 RadAjaxPanel 中。我的 treeView 不在 RadAjaxPanel 内。我把它移到了里面,现在它正在刷新。