动作监听器后未更新数据表

问题描述 投票:0回答:1

[在执行此操作时,我在更新dataTable时遇到一些问题:

<p:panel styleClass="card" header="Filtri">
                        <h:panelGrid columns="4" layout="grid"
                            styleClass="ui-panelgrid-blank form-group">
                            <h:panelGroup styleClass="md-inputfield">
                                <p:inputText id="orderMinFilter" label="N. bolla più basso"
                                    value="#{productionOrdersView.orderNumberStartFilter}">
                                </p:inputText>
                                <p:outputLabel for="orderMinFilter" value="N. bolla più basso" />
                            </h:panelGroup>
                            <h:panelGroup styleClass="md-inputfield">
                                <p:inputText id="orderMaxFilter" label="N. bolla più alto"
                                    value="#{productionOrdersView.orderNumberEndFilter}">

                                </p:inputText>
                                <p:outputLabel for="orderMaxFilter" value="N. bolla più alto" />
                            </h:panelGroup>
                            <p:commandButton value="Cancella filtri" icon="ui-icon-clear"
                                styleClass="red-btn flat"
                                actionListener="#{productionOrdersView.clearFilter()}"
                                style="width:auto;margin-bottom:10px; float:right;"
                                update="dtOrders" />
                            <p:commandButton value="Cerca" icon="ui-icon-search"
                                styleClass="primary-btn flat"
                                actionListener="#{productionOrdersView.filter()}"
                                update="dtOrders"
                                style="width:auto;margin-bottom:10px; float:right;" />
                        </h:panelGrid>
                    </p:panel>

这是我的数据表:

<p:dataTable id="dtOrders" var="productionOrder"
                        value="#{productionOrdersView.orders}" selectionMode="single"
                        reflow="true" selection="#{productionOrdersView.selected}"
                        filteredValue="#{productionOrdersView.filtered}"
                        widgetVar="ordersTable" rowKey="#{productionOrder.pk}"
                        emptyMessage="Nessun elemento oppure la ricerca è ancora attiva..."
                        paginator="true" rows="20">

这是方法:

public void filter() {
    if (orderNumberStartFilter != null && orderNumberEndFilter != null) {
        this.orders = productionOrderController.findFromToOrderNumber(Integer.valueOf(orderNumberStartFilter),
                Integer.valueOf(orderNumberEndFilter));
        this.filtered = orders;
    }
}

filter()方法已正确执行,并且bean中的列表正确(我搜索了11个元素,然后得到了它),但是dataTable已更新,但未使用这些值进行更新;为什么?我在哪里错了?

jsf primefaces javabeans
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.