我基本上跟pattern provided in the GWT showcase设置DataGrid
ListDataProvider
AsynchronousDataProvider
。我的表有几个可排序的列,我已经实现了一个按特定列值过滤值的下拉列表。
我想将我的数据提供程序更改为aysnchronous并一次加载一页结果。我在我的应用中的另一个表格中根据this pattern使用了AsynchronousDataProvider
并且效果很好,但在这种情况下我没有任何可排序的列。
我的第一个想法是ListDataProvider
无济于事,因为我看不到它如何支持可排序列(或过滤此类问题)。也许我可以修改我对{{1}}的使用,一次只加载一页?
有兴趣了解其他人如何实施此目标。
谢谢!
答案 0 :(得分:2)
AsyncDataProvider的分页是在API端(或从您获取数据的任何地方)完成的。您可以为此API调用提供排序参数和诸如此类的内容。
DataGrid提供范围开始和长度,因此您实际上是在请求
SELECT * FROM STUFF WHERE ID > start AND ID < start + length SORT BY sortorder ASC/DESC
创建DataGrid时,可以将列设置为可排序,并创建自己的sortOrder。可以创建SQL查询所需的所有数据。表的sortentry还包含有关列是升序还是降序的数据