1
我正在使用CellTable來顯示存儲在數據存儲中的實體信息。參數的數據類型是String和int。在選擇單元中顯示當前值GWT
我決定使用SelectionCell來顯示每個參數的值。這對於String數據類型來說是完美的,但是對於int數據類型它失敗了。
舉例來說,我有一個名爲參數:
String name;
此參數的值可能是: 「名1」, 「名稱2」 或 「NAME3」。我在SelectionCell這些值,所以如果實體有一個參數名稱=「名稱2」,SelectionCell顯示「名稱2」
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這些值,但是如果實體有一個參數年齡= 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");
我該如何解決呢?
乾杯。
你有沒有嘗試在呈現之前將int轉換爲字符串?選擇框喜歡有字符串值。 – 2012-02-27 17:30:54
是的,我轉換爲字符串,因爲SelectionCell只接受列表值。我添加了代碼。 –
sosegon12
2012-02-28 15:36:41
你確定object.getAge()返回有效年齡之一嗎? – 2012-03-05 22:41:32