У меня есть html-страница с полем поиска и табличным представлением, отображаемым с помощью PageableListView
.
Данные присутствуют в списке userListForTable
.В методе onSubmit()
AjaxButton searchButton
метод dbService.getEmployeeByName(searchInputString)
возвращает новый список, который я назначаю для объекта userListForTable
.
При этом я предполагал, что при назначении нового списка для userListForTable
таблица PageableListView
будет обновляться автоматически, но этого не происходит.
Может кто-нибудь помочь сэто?
Усилия:
- Как уже упоминалось в этой ссылке , я попытался использовать
pageableListView.removeAll();
и установить pageableListView.setReuseItems(true);
Код:
pageableListView = new PageableListView<UserModel>("rows", new PropertyModel<List<UserModel>>(this, "userListForTable" ), 8) {
private static final long serialVersionUID = 1L;
private ModalWindow modalWindow;
@Override
protected void populateItem(ListItem<UserModel> arg0) {
// TODO Auto-generated method stub
final UserModel userModel = (UserModel) arg0.getDefaultModelObject();
arg0.add(new Label("name", userModel.getName()));
arg0.add(new Label("gender", userModel.getGender()));
}
}
searchButton
AjaxButton searchButton = new AjaxButton("searchButton") {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
// TODO Auto-generated method stub
super.onSubmit();
//get search string
searchInputString = searchInput.getSearchString();
//clear userListForTable and populate new List items
userListForTable = null;
userListForTable = dbService.getEmployeeByName(searchInputString);
pageableListView.removeAll();
}
};