我想通过RPC调用使用来自数据库的数据填充celltable。有人可以给我一个示例应用程序来演示这个(端到端流程)。我有点困惑,我是新来的。谢谢你的帮助
答案 0 :(得分:2)
我在使用CellTable时遇到了同样的问题。 在我的情况下,我必须用不同的数据类型填充CellTable来表示具有x和y坐标的数据点。
我的解决方案是创建一个接口,并将实现此接口的对象提供给CellTable: 界面:
public interface IsDataTablePresentable {
public String xValue();
public String yValue();
}
和CellTable的实例:
final CellTable<IsDataTablePresentable> dataTable = new CellTable<IsDataTablePresentable>();
然后根据数据类型创建Columns,在我的例子中是TextColumn,将相应的x值表示为String:
TextColumn<IsDataTablePresentable> xValueColumn = new TextColumn<IsDataTablePresentable>() {
@Override
public String getValue(IsDataTablePresentable object) {
return object.xValue();
}
};
dataTable.addColumn(xValueColumn, "the x-axis title");
y值的代码看起来是一样的,除了我取y值;)
之后,将数据添加到CellTable:
dataTable.setRowData(0, (ArrayList<IsDataTablePresentable>) <your field or RPC-returned ArrayList or whatever here!> );
就是这样!
编辑:实现IsDataTablePresentable的类的示例:
public class timeData implements IsSerializable, IsDataTablePresentable {
...
public String xValue() {
return ""+this.time.getDate() + "." + (this.time.getMonth()+1) + "." + (this.time.getYear()+1900);
}
public String yValue() {
return this.value.toString();
}
...
}
为了与服务器通信,我建议您阅读DevGuide中的这篇文章,它也帮助了我: Communicate with a Server - Google Web Toolkit