具有CellTree细胞的CellList

时间:2013-01-23 11:03:52

标签: gwt celllist

我使用gwt CellList示例来实现基于单元格的列表框。它使用 TextCell 单元格来表示数据,因为它只是文本,并且运行良好。

现在我必须将此列表扩展为包含“tree”类型的元素(我的意思是您可以单击列表中的某些元素,如果它不是叶子,则会打开并且显示其子女的信息)。所以我实现了一个基于CellTree的小部件。 (CellTree)

我的问题是我不知道如何将“树”类型的项目(实际上是CellTrees)插入到我的CellList中。

我能想象的唯一方法是创建一个代表CellTree的新类型的单元格,扩展“AbstractCell”,并将其用作CellList项。

我的实施是:

private class TreeCell extends AbstractCell<CellTreeListBox> {

    public TreeCell() {}

    @Override
    public void render(Context context, CellTreeListBox value,
        SafeHtmlBuilder sb)
    {
      sb.appendEscaped(value.getElement().getInnerHTML());
    }
}

一旦包含在CellList中,它只显示根节点,但当我点击它们时,它们不会被打开!所以这种方法不会使事件既不是selectionModel的功能......

所以我不知道是否可以实现代表整个CellTree的单元格,并保留其事件和功能(如果单击,则打开节点并显示其子项的信息等...)

我真的很感激有关此事的任何信息!

1 个答案:

答案 0 :(得分:0)

您应该<{> 1}} CellList 替换

使用某个容器面板(CellTreeCellList)替换FlowPanel,在其中(手动)放置小部件(VerticalPanel,或者可能Label CellWidget TextCell,并在其中插入CellTree以显示它。然后,您将丢失单元小部件的其他功能:SelectionModel,分页等

无论如何,请放弃CellList。您无法在窗口小部件中嵌入窗口小部件。