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

fen*_*nix 6 jsf primefaces pf-datatable

我有一个数据表:

<p:dataTable id="pDataTableListaRegistros"
             var="registro"
             value="#{arquivoBean.listaRegistros}"
             paginator="true"
             rows="20"
             filteredValue="#{arquivoBean.filteredListaRegistros}"
             styleClass="tabelaCentralizada">
Run Code Online (Sandbox Code Playgroud)

我想获得在过滤字段"Code","Data do Registro"和"Usuário"中输入的值来操作支持bean.

在此输入图像描述

kol*_*sus 7

您可以从数据表中获取过滤器值

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

       <p:dataTable binding="#{arquivoBean.theDataTable}" id="pDataTableListaRegistros" var="registro" value="#{arquivoBean.listaRegistros}" paginator="true" rows="20" filteredValue="#{arquivoBean.filteredListaRegistros}" styleClass="tabelaCentralizada"/>
    
    Run Code Online (Sandbox Code Playgroud)

    在你的支持bean:

       DataTable theDataTable = new DataTable();
       //getter and setter
    
    Run Code Online (Sandbox Code Playgroud)
  2. 从绑定

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