gpt4 book ai didi

java - 如何从自定义 SelectionEventManager 访问 GWT CellTree 显示的对象层次结构?

转载 作者:太空宇宙 更新时间:2023-11-04 08:22:23 26 4
gpt4 key购买 nike

我想要定制 CellTree这将使用基于复选框的单元格(我想使用三态复选框,因此必须编写自定义单元格)。我想选择父节点来选择其所有子节点,并且如果选择了所有子节点,则父节点的复选框也应该被选中。如果不是所有子项都被选中,而只是其中的一些,那么父复选框应该处于所谓的“第三状态”。

为了实现这一点,我定制了 public class TriStateSelectionEventManager extends DefaultSelectionEventManager<TopologyNodeRep>并想覆盖它

public void doMultiSelection(MultiSelectionModel<? super TopologyNodeRep> selectionModel,
HasData<TopologyNodeRep> display,
int row,
TopologyNodeRep rowValue,
DefaultSelectionEventManager.SelectAction action,
boolean selectRange,
boolean clearOthers)

方法。我认为这是实现这一要求的最合适的方式。我的问题是,通过这种方法我无法访问树数据。收到display对象包含所有必要的信息,但无法访问它,因为它是 CellTreeNodeView.NodeCellList实例是包访问类的私有(private)内部类..:-(

您知道如何在 GWT 中实现此要求吗?

最佳答案

您的 TopologyNodeRep 类是否分别引用了其子级和父级?如果确实如此,您可以检索特定选定 TopologyNodeRep 实例的子项,并自动选择其子项。像这样的事情:

List<TopologyNodeRep> childs = rowValue.getChilds();
for (TopologyNodeRep child: childs) {
selectionModel.setSelected(child,true);
}

关于java - 如何从自定义 SelectionEventManager 访问 GWT CellTree 显示的对象层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9278769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com