Первичные данные datatable reset pagination
Я использую компонент dataTable с помощью paginator в утилите поиска, которая отлично работает, но имеет проблемы с страницей reset paginator на первой странице.
например, вы находитесь на странице 6 страницы и вы выполняете новый поиск, dataTable загружается с новыми данными, но номер страницы не reset до 1, он остается на 6.
Я использую PF 3.4.2.
любая идея?
Ответы
Ответ 1
Добавьте в действие следующий javascript, который обновляет модель DataTable:
onclick="myWidgetVar.getPaginator().setPage(0);"
Где myWidgerVar является WidgetVar для DataTable.
Убедитесь, что в DataTable установлен WidgetVar. Для дальнейшего использования см. этот пост от Optimus Prime.
Приведенное выше приводит к тому, что сетка выполняет вызов для обновления данных с существующими фильтрами. Если вы явно хотите, чтобы сетка загружала новые данные со страницы один, вы можете reset использовать данные на стороне сервера
DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("dialogSelectionForm:carSelectDialogTable");
dataTable.reset();
Ссылка - http://forum.primefaces.org/viewtopic.php?f=3&t=5807
Ответ 2
Я решил с widgetVarDataTable.clearFilters(); в прямых 3.5,
и PF ('widgetVarDataTable'). clearFilters(); в прайс-листах 5.0
Ответ 3
Мне пришлось решить эту проблему в фоновом режиме. Чтобы решить проблему без выполнения какого-то "дублированного обновления", я реализовал это:
<p:commandButton ... update="dataTable" actionListener="#{myController.bindingDataTable.setFirst(0)}" oncomplete="someClientJS();" ... />
Этот код предполагает, что dataTable
в передний конец является обязательным к задней торцевой опорной переменной myController.bindingDataTable
. ActionListener
выполняется до того, как элемент dataTable
будет обновлен, поэтому на этот момент подкачка устанавливается с '0' как значение для первой строки/записи (следовательно, первая страница также).
Ответ 4
Я решил свою проблему, используя PF ('dataTableWidgetVar'). paginator.setPage(0); в Primefaces 6.0