我想关于GWT的SimplePager对象的一些问题。所以我得到了特殊的项目列表,它实现了HasRows
接口,可以使用分页。但问题是列表可以在不集成用户的情况下增加大小。然后将元素添加到列表中,SimplePager大小也应该增加。但我想避免刷新整个页面并仅更新parger。
所以目前我在初始化网站时正在调用:
pager.setDisplay(customList);
在列表增长时无所事事。所以我认为当项目添加到列表时我可以使用相同的方法。
例如:
public void onItemAdded(Person person){
customList.add(person);
pager.setDisplay(customList);
}
但它不是重绘窗口小部件,只有在用户刷新站点之后,它才会再次初始化窗口小部件并在列表中获取适当数量的项目。
知道如何强制更新寻呼机本身?
您应该在列表和寻呼机之间使用ListDataProvider<Person>
:
ListDataProvider<Person> dataProvider = new ListDataProvider<Person>();
dataProvider.setDataDisplay(customList);
pager.setDisplay(customList);
然后你添加项目的功能将是:
public void onItemAdded(Person person){
dataProvider.getList().add(person);
}
通过设置dataDisplay,将在此显示上更新基础列表上的每个操作。见http://www.gwtproject.org/javadoc/latest/com/google/gwt/view/client/ListDataProvider.html