[英]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
以表達式語言引用。
car
的model
屬性是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是支持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.