RadTreeView按需加载选择问题

发布于 2024-08-25 00:44:17 字数 508 浏览 15 评论 0原文

我目前正在使用 RadTreeView,只是切换到使用按需加载(ServerSideCallback)来提高性能。在每个节点上,我使用 RadContextMenu 弹出打开 RadWindow。在 RadWindow 中,我更新了有关在 RadTreeView 中选择的节点的信息(例如更改其名称等)。当我关闭 RadWindow 时,我触发 RadTreeView 重新绑定(因为我进行了更改并想要获取最新的数据)。我的问题是,当我深入树的 4 或 5 层时,我无法重新选择我来自的节点。当我不使用按需加载时,这很容易,因为所有节点都只是树的一部分。既然我正在使用按需加载,我该如何执行此操作?

我已经编写了一个方法来完成获取指向相关节点的所有parentId 的工作。例如,对于给定的树:

A
|__ B
|__ C
|__ D
      |__ E
      |__ F

假设在重新绑定后,我想返回“F”,我已经有一个返回“A,B,F”的方法,这是返回“F”的完全限定路径。

谢谢, 布莱恩

I am currently using a RadTreeView and just switched over to using Load-On-Demand (ServerSideCallback) to improve performance. On each node, I use a RadContextMenu to pop open a RadWindow. In the RadWindow, I update information about the node I selected in the RadTreeView (such as changing it's name, etc.). When I close the RadWindow, I trigger the RadTreeView to rebind (since I made changes and want to get the freshest data). My problem is, when I am 4 or 5 levels deep into the tree, I have no way to reselect the node that I came from. This was easy when I wasn't using Load-On-Demand since all the nodes were just part of the tree. How can I do this now that I am using Load-On-Demand?

I already wrote a method to do the work in getting ALL the parentIds that lead up to the node in question. For example, for the given tree:

A
|__ B
|__ C
|__ D
      |__ E
      |__ F

Let's say after I rebind, I wanted to get back to "F", I already have a method that returns "A,B,F", which is the fully qualified path back to "F".

Thanks,
Brian

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒几许 2024-09-01 00:44:17

在这种情况下,您需要将该节点的所有父节点的 ExpandMode 设置为 ClientSide。
否则,第一个父节点将不会扩展(这就是按需加载的想法),并且相关节点将不可见。

或者,您可以找到第一个父级并调用其 Expand() javascript 方法,然后在 OnClientNodePopulated 事件中查找下一个父级并调用其 Expand() 方法,依此类推,直到到达所需的节点。

In this case you need to set the ExpandMode of all the parents of that node to ClientSide.
Otherwise the first parent will not be expanded (that is the idea of the load on demand) and the node in question would not be visible.

Alternatively, you can find the first parent and call its expand() javascript method, then in OnClientNodePopulated event find the next parent and call its expand() method and so forth until you get to the desired node.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文