1

我已经设置了DataGrid一个ListDataProvider基本上遵循GWT 展示中提供的模式。我的表有几个可排序的列,并且我实现了一个下拉列表,该下拉列表按特定列值过滤值。

我想将我的数据提供程序更改为异步并一次加载一页结果。我在我的应用程序的另一个表上使用AsynchronousDataProvider这种模式,它运行良好,但在这种情况下,我没有任何可排序的列。

我的第一个想法是这AsynchronousDataProvider无济于事,因为我看不到它如何支持可排序的列(或过滤)。也许我可以修改我的使用,ListDataProvider一次只加载一页?

有兴趣了解其他人是如何实现这一点的。

谢谢!

4

1 回答 1

2

AsyncDataProvider 的分页是在 API 端完成的(或从任何地方获取数据)。您可以为此 API 调用提供排序参数等。

DataGrid 提供范围开始和长度,因此您实际上是在请求

SELECT * FROM STUFF WHERE ID > start AND ID < start + length SORT BY sortorder ASC/DESC

创建 DataGrid 时,可以将列设置为可排序,并创建自己的 sortOrder。可以创建 SQL 查询所需的所有数据。表的排序条目还包含有关列是升序还是降序的数据

于 2012-10-07T05:49:41.600 回答