在选择单元格GWT中显示当前值

时间:2012-02-27 16:38:38

标签: google-app-engine gwt user-interface

我正在使用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");    

我该如何解决?

干杯。

1 个答案:

答案 0 :(得分:0)

在创建dataGrid之前尝试创建年龄列表。