2013-11-08 2 views
1

У меня есть шрифт, связанный с 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> 
+0

Я предполагаю, что ваш 'authBacking' потеряет отфильтрованные значения, поскольку его запрос ограничен. (и запрос ajax заставляет резервный компонент перезагружаться) – dognose

+0

Фактически ViewScoped – Catfish

+0

Какой класс является «auth»? он реализует Serializable? – yannicuLar

ответ

2

Не пытайтесь обновить форму на rowToggle. Я лично еще не использовал rowToggler, но в примерах show case, rowToggle не обновляет форму.

0

У меня есть аналогичная проблема, я решил, что она делает обновление для всех, кроме таблицы.

Смежные вопросы