2017-06-19 25 views
1

我是相當新的使用primefaces,並有一點點疑問(已經問它的primefaces論壇,但至今沒有回覆)filterValue在Primefaces 5.3數據表總是空

是否有可能得到在xls dataExporter上過濾值,更具體地說是在類似方法的後處理器上?

我可以通過在dataTable上聲明filteredValue來獲取過濾值。但filterValue變量不能按預期工作。

我已經從宣佈我的dataTable這樣的:

filteredValue="#{parqueController.parqueListFiltered}" filterValue="#{parqueController.parqueListFilter}"

當我篩選值,對Bean類火災只爲濾波值的二傳手,使得過濾器值總是空。

我最終發現在PrimeFaces這個線程關於這一點:

https://code.google.com/archive/p/primefaces/issues/5361

報道在3.5版本中的問題,並因爲它看起來,它已得到糾正/改變更高版本..我使用版本5.3

認爲這可能是一個錯誤?迴歸?或者我只是在這裏錯過了一點,做錯了什麼?

enter image description here

最好的問候,並感謝您!

米格爾·梅羅

回答

1

找到這個笨拙怪異..下載Primefaces來源..調試運行。經過練到了filtervalue被列上聲明的結論(如果我不是有點兒分神就已經快注意到它。 ^^)

<p:column style="width: 20%" filterBy="#{parque.id}" sortBy="#{parque.id}" filterValue="#{parqueController.parqueListFilter}" filterMatchMode="contains"> 

之後,該值作爲每個列的單個字符串返回,爲空值爲空,值爲.. value ^^。在這個階段根據需要處理它。我最終創建了一個包含所有過濾器值的List ..在excel後處理器上,始終從列表中取出最後4個值並對這4個值進行迭代,因爲我知道我的列是固定的。