我具有由域的列表填充的p:datatable
對象Primefaces dataTable中,對局部枚舉濾波器值
每個域對象具有被綁定到enum PrivateIndustry
的值:P,K或N,其對應於一個數據庫值。
然後通過本地化labels_LOCALE.properties
將這些值呈現在p:dataTable
中,以使它們成爲人類可讀的,並且使用com.package.PrivateIndustry.P/K/N
語法。
這對可讀性的作品好,但是當我使用PF('dataTableId').filter()
過濾數據表,我不能過濾的本地化的值,只有純粹的枚舉值(即P,K或N)
即:
<p:column headerText="#{labels.header}"
filterBy="#{domainobject.privateIndustry}" filterStyle="display: none"
sortBy="#{domainobject.privateIndustry}" >
<h:outputText value="#{domainobject.privateIndustry}"/>
</p:column>
我可以通過使用ResourceBundle.getString("com.package.PrivateIndustry...")
作爲字符串填充域對象中的名稱來彌補這一點,但這看起來似乎沒有必要和錯綜複雜。
我可以分析filterBy=""
具有更好的價值,或者讓客戶端上的數據PF().filter()
工作?
您始終可以實施自定義過濾器...請參閱PF文檔 – Kukeltje