GWT CellTable人口

时间:2012-09-07 01:22:36

标签: gwt gwt-rpc gwt-celltable

我想通过RPC调用使用来自数据库的数据填充celltable。有人可以给我一个示例应用程序来演示这个(端到端流程)。我有点困惑,我是新来的。谢谢你的帮助

1 个答案:

答案 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