我有一个数据表:
<p:dataTable id="pDataTableListaRegistros"
var="registro"
value="#{arquivoBean.listaRegistros}"
paginator="true"
rows="20"
filteredValue="#{arquivoBean.filteredListaRegistros}"
styleClass="tabelaCentralizada">
我想在过滤字段“Code”,“Data do Registro”和“Usuário”中输入的值来操作辅助bean。
答案 0 :(得分:6)
您可以通过
从数据表中获取过滤器值通过绑定或遍历树,从视图中获取对数据表的引用。通过绑定,您将拥有:
<p:dataTable binding="#{arquivoBean.theDataTable}" id="pDataTableListaRegistros" var="registro" value="#{arquivoBean.listaRegistros}" paginator="true" rows="20" filteredValue="#{arquivoBean.filteredListaRegistros}" styleClass="tabelaCentralizada"/>
在你的支持bean中:
DataTable theDataTable = new DataTable();
//getter and setter
来自绑定
Map<String, String> theFilterValues = theDataTable.getFilters(); //This returns a map of column-filterText mapping.
答案 1 :(得分:1)
您可以向bean添加地图,例如:
private Map<String, Serializable> filterValues = new HashMap<>();
使用filterValue
的{{1}}属性将值绑定到地图,例如:
p:column
此解决方案的优点是更新表时将保留这些值。