【问题标题】:GWT 2.1 Tree or CellTree?GWT 2.1 树还是 CellTree?
【发布时间】:2010-10-28 05:42:27
【问题描述】:

我真的很难在 GWT Tree 小部件之间做出选择,它多年来一直是 GWT 的一部分;或 GWT 2.1 引入的新 CellTree。

我要呈现给用户的树不是特别大,但我很关心响应能力。

树节点处的数据将是可编辑的。通过单击一个节点,用户将把该节点置于编辑模式。编辑更简单的节点只需要一个 TextBox 或 TextArea;但其他会涉及几个小部件,我希望通过 CSS 对其进行样式控制。

我被 CellTree 方法所吸引,因为它似乎提供了极大的灵活性和速度;但是,CellTree 编辑的示例代码只处理非常简单的数据类型:字符串、日期、整数等。当您有更复杂的节点编辑需求时,我不知道 CellTree 是否合适。

你怎么看? CellTree 是最好的方法吗? CellTree 一般会取代 Tree 吗?在它们之间进行选择时,我可以应用哪些启发式方法?

【问题讨论】:

    标签: gwt treeview tree widget


    【解决方案1】:

    我正在使用带有多个自定义输入单元格的 CellTable,其中包括一个由许多小部件组成的单元格。效果很好!

    我花了几个小时来了解如何实现一个可以执行复杂操作的自定义 Cell - 因为 CellTree 的单个实例会在 CellTree 周围飞来飞去,假装是很多实例,你需要了解它是如何得到的它的数据以及刷新和渲染的时间。我从 DatePickerCell 的源代码中学到了很多东西。

    我不能代表 CellTree,但 CellTable 非常灵活,易于编程,并且为我节省了数百个 Widget 实例。

    【讨论】:

    • 你是否使用 CompositeCell 作为具有多个小部件的单元格?
    • 我扩展了 AbstractEditableCell 类。我在 2.1.0.M3 开始使用它,在他们有很多文档之前,所以 CompositeCell 可能是你想要的。我还看到他们添加了“编辑器”,看起来很整洁。
    【解决方案2】:

    使用 CellTree 是有问题的。因为它不能很好地访问存储在 CellTree 中的视图实现。通过单击整个父单元格来制作自定义处理程序以打开带有子节点的节点会导致问题(例如:D)。当然,您可以通过 AbstractCell 制作自定义单元格,您必须在其中编写自己的渲染器。

    我认为这个小部件必须增强,并且必须让更多对象对用户更加可见。

    自定义 CSS 很简单。您所要做的就是扩展 CellTree.resource 并根据 celltree.css 类名插入自己的 css。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-13
      • 1970-01-01
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多