我正在使用CellTable来显示存储在数据存储区中的实体信息。参数的数据类型是String和int。
我决定使用SelectionCell来显示每个参数的值。这在字符串数据类型方面非常有效,但是它以int数据类型失败。
例如,我有一个名为:
的参数String name;
此参数的可能值为:“Name1”,“Name2”或“Name3”。我在SelectionCell中有这些值,所以如果一个实体有一个参数name =“Name2”,SelectionCell会显示“Name2”
List<String> names= new ArrayList<String>();
names.add("Name1");
names.add("Name2");
names.add("Name3");
SelectionCell nameCell = new SelectionCell(names);
Column<Entity, String> nameColumn = new Column<Entity, String>(nameCell){
@Override
public String getValue(Entity object){
return object.getName();
}
};
cellTable.addColumn(nameColumn, "Name");
现在,我有一个名为:
的参数int age;
此参数的可能值为:18,19,20,...,65。我在SelectionCell中有这些值,但如果实体的参数age = 25,SelectionCell不显示该值,则显示18。
List<String> ages= new ArrayList<String>();
for(int i = 18; i <= 65; i++){
ages.add("" + i);
}
SelectionCell ageCell = new SelectionCell(ages);
Column<Entity, String> ageColumn = new Column<Entity, String>(ageCell){
@Override
public String getValue(Entity object){
return "" + object.getAge();
}
};
cellTable.addColumn(ageColumn, "Age");
我该如何解决?
干杯。
答案 0 :(得分:0)
在创建dataGrid之前尝试创建年龄列表。