Primefaces コンポーネントで記述された JSF ページがあります。マイ ページは 3 つのセクターで構成され、各セクターにはアコーディオン パネルが含まれ、アコーディオンの各タブにはデータ テーブルが含まれます。
セクターの上部にある [フィルター] と [フィルターのリセット] の 2 つのボタンでデータ テーブルを検索したいと考えています。セクター内の検索は、他のセクター内の検索から独立している必要があります。
上記の検索/フィルタリングを実行する最適な方法を知りたいです。アコーディオン タブが開かれるたびに、データベースからレコードが読み込まれることを考慮してください。
<h:form id="form">
<p:tabView id="sectors" value="#{multipleSearchBean.sectors}"
var="sector">
<p:tab id="sett" title="#{sector.description}">
<ui:param name="key" value="searchText#{sector.id - 1}" />
<p:inputText id="searchValue" value="#{multipleSearchBean[key]}" />
<p:commandButton id="plainSearch" value="Filter"
action="#{searchBean.plainSearch()}">
</p:commandButton>
<p:commandButton id="resetSearch" value="Reset Filters"
action="#{searchBean.resetSearchFilters}">
</p:commandButton>
<p:accordionPanel id="accordion"
value="#{searchBean.getTabs()}" var="tab" multiple="true"
dynamic="true" cache="false"
activeIndex="#{searchBean.activeIndexes}">
<p:tab id="accordionTab" title="#{tab.title}">
<p:dataTable id="table" var="row"
value="#{searchBean.getObjects()}"
emptyMessage="Empty table" styleClass="#{sector.id - 1}_tableStyle">
<p:column headerText="Code">
<h:outputText value="#{row.code}" />
</p:column>
<p:column headerText="Description">
<h:outputText value="#{row.description}" />
</p:column>
</p:dataTable>
</p:tab>
</p:accordionPanel>
</p:tab>
</p:tabView>
</h:form>