0

我有一个用于日志消息的数据库表,并且可以随时插入新行。我想在网格中显示它们,当您向下滚动时,我想从该表(服务器端)请求更多行,但不受新添加行的影响。仅当我刷新整个网格时,新行才可见。

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

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

你有什么更好的主意吗?

PS 我正在使用 LGPL SmartGWT 版本并在服务器端使用我自己的 servlet。

4

2 回答 2

1

这是我要做的;我想您的每一行都有一个不断增长的 ID 或时间戳。

在您开始查询数据之前,您调用一个 web 服务来查询当前的 id(例如插入的最后一行是 12345)。

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

(或者,如果您使用个性化数据源而不是默认的 RESTdataSource,那么您基本上可以在不显式使用 Criteria 的情况下执行相同的操作)。

于 2010-10-19T08:42:43.817 回答
0

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

于 2010-10-05T19:03:42.157 回答