【问题标题】:How to create a CellTree which grows dynamically如何创建动态增长的 CellTree
【发布时间】:2013-02-16 19:04:49
【问题描述】:

我是 GWT 新手,在创建子节点动态增长的树时遇到问题。当我的页面加载时,树看起来像这样:

ROOT_Node
    |
    |_Child 1
    |
    |_Child 2

当用户点击 Child 1 或 Child 2 时,它们会像这样展开:

ROOT_Node
    |
    |_Child 1
    |   |
    |   |_Child 1_1
    |   |_Child 1_2
    |
    |_Child 2

如果用户点击 Child 1_1,如果 Child 1_1 有任何子节点,它将再次展开。并且所有节点都会动态增长。我在 GWT TreeCell 上做了一些基本的示例,并了解它不会动态增长。因此,每当用户单击子节点时,我都会删除 CellTree 并添加一个新的 CellTree。这太糟糕了。至少我应该能够编写一些可以处理任意数量的子节点及其子节点的代码。

我已经阅读了一些 GWT 教程,包括官方 GWT 教程。但是找不到与此类问题相关的示例。教程只包含“if (value instanceof SomeClass) then do this”,添加某种选择处理程序等。如果我使用这种方法,我应该编写很多 if-then-else 块。

谁能帮我解决这个问题。或者有什么简单的方法可以在不使用 CellTree 的情况下显示树?列表对我有帮助吗?

【问题讨论】:

    标签: gwt gwt2


    【解决方案1】:

    CellTree 是否支持动态数据。

    如果您想支持延迟加载或事先不知道层次结构,您可以使用AsyncDataProvider
    还有一个展示使用动态数据的示例,可以在here找到。

    如果您想为每个树级别使用不同的Cells,则必须使用所有if (value instanceof SomeClass)(参见展示示例)。

    如果Child1Child1_2 属于同一类型并且应该以相同的方式呈现,则可以使用不同的方法。 您可以检查对象中的字段,而不是检查对象是否是特定类,该字段告诉您它属于树中的哪个级别,或者您的对象是否通过引用链接在一起(即子对象具有对其父对象的引用)你也可以利用这些信息来创建你的TreeViewModel

    【讨论】:

      猜你喜欢
      • 2013-11-23
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多