使用GWT CellTable可以添加不同的列,以不同的方式处理单击事件。
例如,我们有3列:
- 一个头像图像(ImageCell),
- a name (TextCell),
- 复选框(复选框细胞)。
然后图像添加这些事件:
- 当ImageCell被点击时,我们可以打开一个弹出窗口。
- 当复选框被选中时,选择行。
- 单击用户名后,打开用户配置文件。
使用CellTable可以直接完成此操作。
但是,如果我们想要一个看起来不像表的视图呢?CellTable被绑定到一个HTML Table来实现它。为什么不允许一个通用的HTML实现的CellTable(行为)API。
使用CellList我们可以完成任何视图。但是这个API没有CellTable那么复杂。如果我们能在CellList中添加一些类似于CellTable 'Columns'的东西,那将会很酷。
是否有办法用当前的单元格小部件来完成这一点?我可能看多了一些东西。
谢谢!
我认为有两种解决方案:
- 使用CellTable和样式,使其看起来像CellList。这应该是非常直接和可能的。然而,你需要稍微摆弄一下CSS样式。最好的方法是使用Firebug动态更改样式并立即查看结果
- 使用CellList并创建一个自定义单元格,它为您的用例(头像,名称和复选框)呈现和处理事件。这是更复杂的,但在GWT页面上有一个教程。
我可能会尝试使用解决方案2,因为它还教你如何创建自定义单元格,这可能会在以后派上用场。
更新:
正如Thomas在评论中建议的那样,你可以使用一个复合单元格来包装3个不同的单元格。这可能是实现它的最简单的方法。