如何获取Primefaces Filtered DataTable字段中输入的值?

问题描述 投票:0回答:2
jsf primefaces primefaces-datatable
2个回答
8
投票

您可以通过以下方式从数据表中获取过滤值:

  1. 通过绑定或遍历树从视图获取对数据表的引用。通过绑定,您将拥有:

    <p:dataTable binding="#{arquivoBean.theDataTable}" id="pDataTableListaRegistros" var="registro" value="#{arquivoBean.listaRegistros}" paginator="true" rows="20" filteredValue="#{arquivoBean.filteredListaRegistros}" styleClass="tabelaCentralizada"/>
    
    
    在你的支持豆中:

    DataTable theDataTable = new DataTable(); //getter and setter
    
    
  2. 来自装订

    Map<String, String> theFilterValues = theDataTable.getFilters(); //This returns a map of column-filterText mapping.
    
    

2
投票
您可以向您的 bean 添加映射,例如:

private Map<String, Serializable> filterValues = new HashMap<>();
并使用 

filterValue

p:column
 属性将值绑定到地图,例如:

<p:column headerText="Name" sortBy="#{item.name}" filterBy="#{item.name}" filterMatchMode="contains" filterValue="#{yourBean.filterValues['name']}"> #{item.name} </p:column>
此解决方案的优点是,当您更新表时,这些值将被保留。

© www.soinside.com 2019 - 2024. All rights reserved.