У меня есть шрифт, связанный с rowToggler. Когда вы вводите значения в фильтрах для столбца, а затем щелкните rowToggler в строке, чтобы открыть расширение, а затем, щелкнув rowToggler, чтобы закрыть расширение, значения все еще находятся в фильтрах столбцов, но данные перезагружаются без фильтрации данных.Поверхностные данные datatable теряет фильтр при закрытии расширения строки
Я попытался добавить oncomplete='authTableWidget.filter();'
к моему p:ajax event="rowToggle
, но это просто делает так, что при попытке открыть расширение строки он просто перезагружает данные таблицы с отфильтрованными значениями и фактически не открывает расширение строки.
<p:dataTable var="auth" value="#{authBacking.auths}" widgetVar="authTableWidget" editable="true" id="authTable" paginator="true" rows="20" rowsPerPageTemplate="20,50,100"
paginatorTemplate="{CurrentPageReport} {PreviousPageLink} {PageLinks} {NextPageLink} {RowsPerPageDropdown}"
filteredValue="#{authBacking.filteredAuths}">
<p:ajax event="rowToggle" listener="#{authBacking.openRow}" update=":authForm:authTable" />
<p:column>
<p:rowToggler />
</p:column>
Я предполагаю, что ваш 'authBacking' потеряет отфильтрованные значения, поскольку его запрос ограничен. (и запрос ajax заставляет резервный компонент перезагружаться) – dognose
Фактически ViewScoped – Catfish
Какой класс является «auth»? он реализует Serializable? – yannicuLar