SmartGWT RestDateSource和Paging(大数据集)动态数据

时间:2010-10-05 09:55:34

标签: java rest gwt jdbc smartgwt

我有一个日志消息的数据库表,并且可以随时插入新行。我希望在网格中显示它们,当您向下滚动时,我想从此表(服务器端)请求更多行,但不会受到新添加行的影响。如果我刷新整个网格,则只需要显示新行。

我不确定如何使用JDBC请求范围(from,to)中的行。我认为没有可移植的(跨越传送数据库)SQL查询来做到这一点? (我正在使用MYSQL)

我认为在阅读此表的第一页后,我必须从日志表中向客户端发送Max Id,然后在SQL中请求使用此Max Id作为参数的新行(WHERE id< = MAXID)但是我不确定如何将此参数从服务器传递到客户端并使用RestDateSource返回?

你有什么更好的想法我能做到这一点吗?

P.S。我正在使用LGPL SmartGWT版本并将自己的servlet用于服务器端。

2 个答案:

答案 0 :(得分:1)

这是我要做的;我想你要么为你的每一行增加一个数字ID或时间戳。

在开始查询数据之前,请调用webservice来查询当前id(例如,最后一行是在12345)。

然后将Criteria对象添加到数据源中,该对象显示“rowId< = 12345”。此时,您可以自由使用网格 - 分页,排序等将自动生效,因为新行将被自动排除。

(或者,如果您使用个性化数据源而不是默认的RESTdataSource,那么在不明确使用Criteria的情况下,您基本上会做同样的事情。)

答案 1 :(得分:0)

SmartGWT Pro,最好自动执行此操作。即使您不想使用Pro,也可以下载评估版(smartclient.com/builds)并观察记录SQL查询的服务器端控制台。