java如何从自定义SelectionEventManager访问GWT CellTree显示的对象层次结构?
我想创建一个自定义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
实例,是包访问类的私有内部类..:-(
您知道如何在GWT中实现此要求吗
# 1 楼答案
你的
TopologyNodeRep
类是否分别引用了它的孩子和父母? 如果有,您可以检索特定选定TopologyNodeRep
实例的子对象,并自动选择其子对象。 比如: