在actionListener之后,数据表未更新

在执行以下过滤操作时,我在更新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已更新,但不使用这些值进行更新;为什么?我在哪里错了?

lyxxzrb 回答:在actionListener之后,数据表未更新

您添加了表单标签以更新commandButton的属性。

  <p:commandButton value="Cerca" icon="ui-icon-search"
                            styleClass="primary-btn flat"
                            actionListener="#{productionOrdersView.filter()}"
                            update=":formName:dtOrders"
                            style="width:auto;margin-bottom:10px; float:right;" />

本文链接:https://www.f2er.com/3137559.html

大家都在问