簡體   English   中英

Primefaces中的過濾數據表僅工作一次

[英]Filter DataTable in Primefaces only works once

我正在嘗試使用Primefaces過濾數據表,就像這個示例一樣 (在Web瀏覽器中)我輸入要作為過濾依據的文本,它只能工作一次,但是當我刪除寫入的文本時,返回到原始狀態的結果將保持不變。

因此它只能運行一次,然后不會響應。 (我可以刪除或重新輸入我寫的過濾器文本,但它不再影響表格)

對不起代碼中怪異的屬性名稱,請多多包涵。 :)

XHTML頁面:

<h:form>
    <p:dataTable var="aggr" value="#{aggregationManagedBean.logiskAdressatModel}"
             widgetVar="aggrTable"
             emptyMessage="No aggr found with given criteria">

        <f:facet name="header">
            <p:outputPanel>
                <h:outputText value="Filter:" />
                <p:inputText id="globalFilter" onkeyup="aggrTable.filter()" />
            </p:outputPanel>
        </f:facet>
        <p:column filterBy="#{aggr.name}"> 
            <f:facet name="header">
                <h:outputText value="Name" /> 
            </f:facet>
            <h:outputText value="#{aggr.name}" /> 
        </p:column>
    </p:dataTable>
</h:form>

支持豆:

@ManagedBean
@SessionScoped
public class AggregationManagedBean {

    private List<LogiskAdressat> logiskaAdressater;
    private DataModel<LogiskAdressat> logiskAdressatModel;

    public AggregationManagedBean() {
        logiskaAdressater = getLogiskaAdressater();
        logiskAdressatModel = new ListDataModel<LogiskAdressat>(logiskaAdressater);
    }

    private static List<LogiskAdressat> getLogiskaAdressater(){
        List<LogiskAdressat> logiskaAdressater = new ArrayList<LogiskAdressat>();

        logiskaAdressater.add(new LogiskAdressat("01 addr_id 01", "Joe"));
        logiskaAdressater.add(new LogiskAdressat("02 addr_id 02", "John"));        
        logiskaAdressater.add(new LogiskAdressat("03 addr_id 03", "Jake"));

        return logiskaAdressater;
    }

    public DataModel<LogiskAdressat> getLogiskAdressatModel() {
        return logiskAdressatModel;
    }

    public void setLogiskAdressatModel(DataModel<LogiskAdressat> adressatModel) {
        this.setLogiskAdressatModel(adressatModel);
    }

}

LogiskAdressat是否LogiskAdressat 序列化

如果不是,請嘗試使其可序列化-

public class LogiskAdressat implements Serializable {

    //....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM