0

我有一个用 Primefaces 组件编写的 JSF 页面。我的页面由三个扇区组成,每个扇区包含一个手风琴面板,手风琴的每个选项卡都包含一个数据表。

我希望使用扇区顶部的两个按钮“过滤器”和“重置过滤器”来搜索数据表。一个扇区内的搜索必须独立于其他扇区内的搜索。

我希望了解执行上述搜索/过滤的最佳方法。考虑每次打开手风琴选项卡时,都会从数据库中加载记录。

<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>
4

0 回答 0