我目前正在尝试为我的基于数据存储区的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);
答案 0 :(得分:1)
是的,这是可能的。在这里,我就是这样做的。
实施抽象寻呼机。我必须创建一个Composite Widget并在构造函数中初始化Widget。
我曾经使用过两个按钮&用于分页前一个和下一个的标签并分别显示该页面。在下一个按钮的clickHandler中,我调用RPC并获取我想要显示的数据列表。然后将列表附加到celltable的dataprovider的现有列表中。然后调用数据提供程序的flush方法。这会将更改推送到单元格表格的显示上。如果您的单元格表仍然没有反映数据,它应该只是再次刷新数据提供者或使用setPageStart
&表setPageSize
并设置新范围。
您必须覆盖onRangeOrRowCountChanged
这是显示您所在页面的位置,并执行您的寻呼机可能需要做的任何事情。
对于上一个按钮,只需调用this.previous()
,因为抽象寻呼机提供了您需要的所有功能。我们使用自己的函数来填充表,而不是使用this.next()
。并转到下一页。