在GWT中动态更新CellTable中的SelectionCell

时间:2014-12-22 09:09:20

标签: java gwt uibinder gwt2 celltable

我正在使用gwt sdk 2.6.0。

请在下面找到我的简化问题陈述,

我有一个包含A和B列的CellTable。 Col A包含不可编辑的值,Col B包含下拉列表(SelectionCell)。

根据Col A的值,

Col B下拉选项应在每一行中有所不同。

我能够为下拉选项呈现固定值(即:所有行都相同),但根据我的上述描述,不能动态地选择不同的选项。

例如:如果Col A包含值为'a',则Col B将包含带有选项{x,y}的下拉列表,如果Col A包含值为'b',则Col B将包含带有选项的下拉列表{y, z} ...这意味着每行中下拉列表(在Col B中)中的值集会根据A列的值而变化

1 个答案:

答案 0 :(得分:0)

您无法使用SelectionCell在每一行中显示不同的选项。您必须创建自己的自定义单元格,根据传递给它的对象呈现不同的选项。

更新:

您需要扩展SelectionCell和

(a)添加一种方法,根据单元格可用的信息设置下拉列表中包含选项的规则。这可以是传递给此单元格的当前值(String)(例如,如果值为“红色”或“绿色”或“蓝色”,显示选项“红色,绿色,蓝色”)或行号(例如,对于行1,2和5,显示选项“红色,绿色,蓝色”)。最有可能的是,您必须将引用传递给您在其他地方更新的数据结构。

(b)覆盖render方法以根据上面设置的规则显示选项。

或者,您可以添加用于设置选项的方法,然后在更新其他列中的单元格时调用这些方法。