2010-10-28 75 views
9

我真的很在GWT树部件之间做出选择,GWT树部件已经成为GWT的一部分,或由GWT 2.1引入的新CellTree。GWT 2.1树或CellTree?

我想呈现给用户的树不是特别大,但我非常关心响应性。

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

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

您认为如何? CellTree是最好的方法吗?一般来说,CellTree会替换Tree吗?我可以在他们之间进行选择时应用什么启发法?

回答

2

我正在使用CellTable和几个自定义输入单元格,其中包括一个由许多小部件组成的单元格。它很棒!

我花了几个小时了解如何实现可以执行复杂操作的自定义Cell - 因为Cell的单个实例会绕过CellTree,假装有很多实例,您需要了解它是如何实现的获取其数据以及何时刷新和呈现。我从DatePickerCell的源头了解了很多。

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

+0

您是否将CompositeCell用于具有多个小部件的单元格? – David 2010-10-28 19:43:46

+0

我扩展了AbstractEditableCell类。我开始在2.1.0.M3中使用它,然后他们有很多文档,所以可能是CompositeCell是你想要的。我还看到他们添加了“编辑”,看起来很整洁。 – 2010-10-28 21:31:13

1

使用CellTree是有问题的。因为它无法访问存储在CellTree中的实现。它导致问题(例如:对于我来说:D)通过单击整个父单元格来创建自定义处理程序以打开具有子节点的节点。当然,您可以通过AbstractCell制作自定义单元格,您必须在其中编写自己的渲染器。

我认为这个小部件必须加强,更多的对象对用户来说必须更明显。

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