Gwt 带有CellTree单元格的CellList

Gwt 带有CellTree单元格的CellList,gwt,celllist,Gwt,Celllist,我使用gwt示例实现了一个基于单元格的列表框。它使用了TextCell单元格来表示数据,因为它只是文本,并且工作得非常完美 现在,我必须将此列表扩展到包含类型为“tree”的元素(我的意思是,您可以单击列表中的某个元素,如果它不是叶子,它将被打开并显示其子元素的信息)。所以我实现了一个基于CellTree的小部件。( 我的问题是,我不知道如何将类型为“tree”的项目(实际上是CellTrees)插入我的CellList 我能想象的唯一方法是创建一种新类型的表示CellTree的单元格,扩展“A

我使用gwt示例实现了一个基于单元格的列表框。它使用了TextCell单元格来表示数据,因为它只是文本,并且工作得非常完美

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

我的问题是,我不知道如何将类型为“tree”的项目(实际上是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());
    }
}
私有类TreeCell扩展了AbstractCell{
public TreeCell(){}
@凌驾
公共void呈现(上下文上下文、CellTreeListBox值、,
安全HTMLBuilder(sb)
{
sb.appender(value.getElement().getInnerHTML());
}
}
一旦包含在单元列表中,它只显示根节点,但当我单击它们时,它们不会被打开!因此这种方法既不会保留事件,也不会保留selectionModel的功能

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


我非常感谢您提供有关这方面的任何信息。

您应该
CellTree
替换
您的
CellList

或者用一些容器面板(
FlowPanel
VerticalPanel
)替换
CellList
,您可以(手动)在其中放置小部件(
Label
s,或者可能是
CellWidget
),并在它们之间插入您的
CellTree
,以显示它。然后您将失去cell小部件的其他功能:
SelectionModel
、分页等


在任何情况下,都不要使用你的
手机列表
。你不能在手机小部件中嵌入小部件。

是的!谢谢你的快速响应,托马斯。我原以为手机树可以“转换”添加到自定义单元格,然后用作单元格列表的元素,但我在您的评论中看到这是不可能的…我不想丢失的是showcase中单元格列表示例的功能:当用户向下滚动时,列表中显示的信息会增加。我想我可以通过插入一个包含您认为可以吗?您不会有延迟加载行为,但这是可能的。
CellTree
内置了分页功能,但它是通过分支底部的“显示更多”按钮实现的。我刚刚看到了“显示更多”行为,但这不是我想要的。非常感谢你的回应,这件事让你非常头疼