0

我目前正在尝试为我的基于数据存储的 Web 应用程序实现一个 gwt 前端。我想要像我的 AsyncServices (gin) 这样的东西从服务器获取数据并在 Celltable 中显示该数据。由于我的数据集可能非常大,我希望每次用户点击页面前进/按钮时都能获取该数据。

private CellTable table = new CellTable(); scheduleTable = new CellTable();

SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class); pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true); pager.setDisplay(table);

provider = new AsyncDataProvider() { @Override protected void onRangeChanged(HasData display) { //TODO: Get and Show the appropriate data from GAE here! } };

provider.addDataDisplay(table);

4

1 回答 1

1

对的,这是可能的。这就是我的做法。

实现一个抽象寻呼机。我必须创建一个复合小部件并在构造函数中初始化小部件。

我使用了两个按钮和一个标签来分页上一个和下一个并分别显示页面。并且在下一个按钮的 clickHandler 中,我调用了一个 RPC 并获取了我想要显示的数据列表。然后将该列表附加到单元表的数据提供者的现有列表中。然后调用数据提供者的flush方法。这会将更改推送到单元格表的显示上。如果您的单元格表仍然没有反映它应该反映的数据,只需再次刷新数据提供者或使用表的setPageStart&setPageSize并设置新范围。

您必须覆盖onRangeOrRowCountChangedthis ,这是您显示您所在的页面并执行您可能需要您的寻呼机执行的任何操作的地方。

对于上一个按钮,只需调用this.previous()Abstract pager 即可提供您需要的所有功能。我们没有使用this.next()我们自己的函数来填充表格。并移至下一页。

于 2011-07-25T10:19:46.220 回答