我正在尝试创建一个由 TextCell 和 ButtonCell 组成的 CompositeCell。我想通常将 CompositeCell 添加到 Column 中,然后将 Column 添加到 CellTable 中。但是我无法弄清楚该列的实例应该如何。特别是我在以下代码中找不到它的类型参数:
Column<FilterInfo, ?> compositeColumn = new Column<FilterInfo, ?>(createCompositeCell()) {
@Override
public Object getValue(Object object) {
// TODO Auto-generated method stub
return null;
}};
创建自定义类FilterInfo的CompositeCell的方法(有必要吗?)是:
private CompositeCell<FilterInfo> createCompositeCell(){
HasCell<FilterInfo, String> filterName = new HasCell<FilterInfo, String>() {
public Cell<String> getCell() {
return new TextCell();
}
public FieldUpdater<FilterInfo, String> getFieldUpdater() {
// TODO Auto-generated method stub
return null;
}
public String getValue(FilterInfo object) {
return object.getFilterName();
}};
HasCell<FilterInfo, String> filterButton = new HasCell<FilterInfo,String>(){
public Cell<String> getCell() {
return new ButtonCell();
}
public FieldUpdater<FilterInfo, String> getFieldUpdater() {
// TODO Auto-generated method stub
return null;
}
public String getValue(FilterInfo object) {
// TODO Auto-generated method stub
return "...";
}
};
List<HasCell<FilterInfo, ?>> cells = new ArrayList<HasCell<FilterInfo, ?>>();
cells.add(filterName);
cells.add(filterButton);
CompositeCell<FilterInfo> compositeCell = new CompositeCell<FilterInfo>(cells);
return compositeCell;
}
如果有任何迹象表明可以调整代码或其他建议以创建所需的 CompositeCell 并将其正确添加到 CellTable 中,我将不胜感激。