小编Jos*_*ers的帖子

将GWT单元树打开到特定节点

我有一个文件浏览器类型的应用程序,包括显示层次结构的CellTree和显示当前节点内容的浏览器窗格.

应用程序必须处理可能太大而无法有效处理的层次结构,因此浏览器窗格中显示的位置不会强烈耦合到树中的开放节点.

我希望实现一个按钮,它将打开CellTree中的当前浏览位置.我的服务器端数据模型在所有对象上都有父/子引用,因此获取层次结构很简单,但我正在努力将其应用于树.

这是我当前的尝试,它是包含我的树的小部件上的一个方法,并从接收方调用.RecordTreeLevel对象各自表示树中的级别.

public void navigateTo(List<RecordTreeLevelProxy> hierarchy) {
    TreeNode currentNode = tree.getRootTreeNode();

    ListIterator iter = hierarchy.listIterator(hierarchy.size());

    while (iter.hasPrevious()){
        RecordTreeLevelProxy level = (RecordTreeLevelProxy) iter.previous();
        Integer nodeIndex = locateNode(level.getUniqueRef(), currentNode);
        if (nodeIndex != null){
            currentNode = currentNode.setChildOpen(nodeIndex, true, true);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为在将子项添加到任何节点之前,循环以其完整性完成.因此,第一级节点按原样打开,但是当循环第二次出现时没有任何子节点.

我忍不住觉得我错过了一些明显的东西,或者以错误的方式做了这件事,但我看不到它.任何有用的帮助(即使它说"不要傻,你不能那样做")

tree gwt cell

2
推荐指数
1
解决办法
2875
查看次数

标签 统计

cell ×1

gwt ×1

tree ×1