Таблица данных Primefaces теряет фильтр при закрытии расширения строки

У меня есть таблица с простыми данными с помощью rowToggler. Когда вы вводите значения в фильтры для столбца, а затем щелкаете rowToggler в строке, чтобы открыть расширение, а затем, если вы щелкаете rowToggler, чтобы закрыть расширение, значения все еще находятся в фильтрах столбца, но данные перезагружаются. без фильтрации данных.

Я попытался добавить 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>

person Catfish    schedule 08.11.2013    source источник
comment
Я предполагаю, что ваш authBacking теряет отфильтрованные значения, потому что его запрос ограничен. (и запрос ajax приводит к сбросу поддерживающего компонента)   -  person dognose    schedule 08.11.2013
comment
Это на самом деле ViewScoped   -  person Catfish    schedule 08.11.2013
comment
Какой класс авторизации? он реализует Serializable ?   -  person yannicuLar    schedule 12.11.2013
comment
auth - это просто объект Java. Я попытался добавить Serializable, но это ничего не дает.   -  person Catfish    schedule 12.11.2013
comment
попробуйте не обновлять форму на rowToggle. Лично я еще не использовал rowToggler, но в демонстрационных примерах rowToggle не обновляет форму. primefaces.org/showcase/ui/datatableExpandableRows.jsf   -  person MrRaymondLee    schedule 13.11.2013
comment
@raylee Превратите свой комментарий в ответ, потому что это сработало!   -  person Catfish    schedule 13.11.2013
comment
@Catfish готово. Спасибо!   -  person MrRaymondLee    schedule 13.11.2013


Ответы (2)


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

person MrRaymondLee    schedule 13.11.2013

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

person victorpacheco3107    schedule 19.08.2015