簡體   English   中英

PrimeFaces DataTable - 過濾(運行示例的問題)

[英]PrimeFaces DataTable - Filtering (problem running the example)

在PrimeFaces中嘗試這個例子。 我只了解代碼的前幾行。

<p:dataTable var="car" value="#{tableBean.carsSmall}"
    emptyMessage="No cars found with given criteria">

     <f:facet name="header">
        <p:outputPanel>
            <h:outputText value="Search all fields:" />
            <p:inputText id="globalFilter" onkeyup="carsTable.filter()" style="width:150px" />
        </p:outputPanel>
    </f:facet>

它可以在這里顯示一個搜索框。 擴展代碼行將添加列並使用數據填充列。 我不明白

<p:column filterBy="#{car.model}" 
    headerText="Model" footerText="contains"
    filterMatchMode="contains">
    <h:outputText value="#{car.model}" />
</p:column>`

什么是#{car.model} 它沒有在java類中指定任何調用model 如何更改我的java類以顯示列?

表達式變量car被聲明為dataTable的var屬性。 這意味着dataTable組件中的每個唯一行都可以由變量car以表達式語言引用。

carmodel屬性是Serializable POJO Car的Bean屬性。 假設Car類具有屬性model意味着getter getModel()和setter setModel()

<p:column>filterBy屬性指定此列標題將具有其自己的唯一過濾器文本字段,並且它將過濾car.model屬性上的行。

屬性filterMatchMode指定匹配條件contains ,這意味着列入過濾器字段的內容的任何文本出現將等同為匹配記錄。 有關filterMatchMode選項的完整列表,請參閱Primefaces指南。

private List<Car> carsSmall;

carsSmall是一個包含Car對象的列表。 Car進口到這里:

import org.primefaces.examples.domain.Car; 

Car.java來源

Car是支持bean,它有一個屬性model ,包含汽車的模型作為String

汽車#{car.model}在這里定義:

<p:dataTable var="car"...>

dataTable迭代列表carsSmall中的每個元素,您可以使用var屬性(here: car )中給出的名稱訪問當前元素。 所以#{car.model}調用當前Car對象的getModel()方法。

暫無
暫無

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

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