我想向您提出一些有关GWT的SimplePager对象的问题。
因此,我得到了一些特殊的项目清单,这些清单实现了HasRows
接口,可以使用分页。
但是问题在于列表可以在不集成用户的情况下增加大小。然后将元素添加到列表中,SimplePager的大小也应增加。但是我想避免刷新整个页面并仅更新解析器。
因此,当我初始化网站时,我正在呼叫:
pager.setDisplay(customList);
当列表增长时什么也不做。所以我认为我可以使用 将项目添加到列表时的方法相同。
例如:
public void onItemAdded(Person person){
customList.add(person);
pager.setDisplay(customList);
}
但是它不是重新绘制窗口小部件,只有在用户刷新站点之后,它才会再次初始化窗口小部件并在列表中获得适当数量的项目。
有什么主意我该如何强制对寻呼机本身进行更新?
答案 0 :(得分:0)
您应该在列表和寻呼机之间使用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