Java GWT-celltable列表框动态内容
我有一个有两列的手机台,名字和他拥有的汽车。其中一列(汽车)必须是列表框。 person对象将在celltable中呈现为一行。列表框将显示此人拥有的汽车的名称。 比方说 Person jack has 3 cars(Merc, BMW, Honda) Person jill has 2 cars(Mini Cooper, Toyota Rav4) 杰克有3辆车(美世、宝马、本田) 吉尔有两辆车(迷你库珀、丰田Rav4) 我看过showcase,它实现了一个带有固定类别的下拉列表。但我有一个下拉列表,它的内容将取决于Person对象的内容 我还想捕获当用户在下拉列表中选择一辆车时的事件。Java GWT-celltable列表框动态内容,java,gwt,drop-down-menu,listbox,celltable,Java,Gwt,Drop Down Menu,Listbox,Celltable,我有一个有两列的手机台,名字和他拥有的汽车。其中一列(汽车)必须是列表框。 person对象将在celltable中呈现为一行。列表框将显示此人拥有的汽车的名称。 比方说 Person jack has 3 cars(Merc, BMW, Honda) Person jill has 2 cars(Mini Cooper, Toyota Rav4) 杰克有3辆车(美世、宝马、本田) 吉尔有两辆车(迷你库珀、丰田Rav4) 我看过showcase,它实现了一个带有固定类别的下拉列表。但我有一个下拉
有什么办法吗?AFAIK
CellWidgets
不提供支持开箱即用动态列表的单元格类型。但是,您可以通过从
AbstractCell
派生来实现自己的自定义单元格,并自行实现该功能。有关更多信息,请参阅GWT文档
我会尽量避免在自定义单元格内进行后端调用。
如果可能,尝试在DTO中添加可用类型的列表,然后从render
方法访问该属性。大致如下:
public class DynamicSelectionCell extends AbstractCell<MyDTO> {
@Override
public void render(Context context, MyDTO value, SafeHtmlBuilder sb) {
if (value == null) {
return;
}
// render a selectionbox and dynamically add options by accessing the value.getAvailablOptions()
}
}
公共类DynamicSelectionCell扩展了AbstractCell{
@凌驾
公共void呈现(上下文上下文、MyDTO值、SafeHtmlBuilder sb){
如果(值==null){
返回;
}
//呈现selectionbox并通过访问值动态添加选项。GetAvailableOptions()
}
}
将getter添加到MyDTO
对象,该对象返回特定记录的可用类型(Honda等),在呈现方法中,您只需创建一个selectionbox。您可以查看有关如何正确渲染的代码
关于事件处理,您必须实现
onBrowserEvent
。有关详细信息,请参阅。这是一个重复的问题。在此处找到答案-[[1]: