smart gwt-如何使用POJO作为组合框/标签/标签的数据源

时间:2012-03-01 16:11:02

标签: gwt smartgwt gwt2

我有一个Smart GWT项目,其中要在屏幕上显示的数据存储在由客户端和服务器共享的类中。

我在Smart GWT网站上阅读了一些文档,他们已经解释了如何连接到XML或JSON数据源。

我想要做的是将我的POJO与智能GWT小部件相关联。

数据在客户端可用,因此不需要Smart GWT的服务器端数据通信组件(仅在付费版本中可用)。

推荐的实施方法是什么?这样做有什么最佳做法吗?假设我可以使用免费版Smart GWT进行上述操作,我是否正确?

1 个答案:

答案 0 :(得分:3)

您必须手动将POJO的字段添加到记录属性。我们不能简单地将对象作为网格中的值传递。我这样做了:

greetingService
            .getUsersList(new AsyncCallback<ArrayList<UserForRPC>>() {
                public void onFailure(Throwable caught) {
                }
                public void onSuccess(ArrayList<UserForRPC> result) {
                    ListGridRecord[] listUsers = new ListGridRecord[result.size()];
                    int recordNum = 0;
                    for (UserForRPC user : result) {
                        ListGridRecord record = new ListGridRecord();
                        record.setAttribute("id", user.getId());
                        record.setAttribute("firstName", user.getFirstName());
                        record.setAttribute("lastName", user.getLastName());
                        record.setAttribute("login", user.getLogin());
                        record.setAttribute("password", user.getPassword());
                        record.setAttribute("email", user.getEmail());
                        record.setAttribute("role", user.getRole());
                        record.setAttribute("organization", user.getOrganization());
                        listUsers[recordNum++] = record;
                    }
                    usersGrid.setData(listUsers);
                }
            });