Dataatable с использованием простых лиц не фильтрует - PullRequest
0 голосов
/ 23 мая 2018

Мои данные показывают результаты, но не фильтруются по протоколу, с использованием JSF работает, но promefaces ничего не показывает, мой код:

<p:dataTable value="#{registroBean.listarRegistros()}"
                         var="registro"
                          widgetVar="registroTable"
                         id="tabelaRegistro"
                         class="table table-striped table-hover"
                         rendered="#{not empty registroBean.listarRegistros()}">

                <f:facet name="header">
                    <p:outputPanel>
                        <p:inputText id="globalFilter" onkeyup="PF('registroTable').filter()" style="width:100%" placeholder="Digite o protocolo" />
                    </p:outputPanel>
                </f:facet>

                <p:column filterBy="{#registro.protocolo}">
                    <f:facet name="header">Protocolo</f:facet>
                    <h:outputText value="#{registro.protocolo}" />
                </p:column>

 </p:dataTable>

Когда я ввожу результат поиска: записей не найдено.

что я делаю не так?

1 Ответ

0 голосов
/ 24 мая 2018

Вы должны создать пустой ArrayList для отфильтрованных результатов в вашем управляемом компоненте и установить его в свой DataTable следующим образом:

 <p:dataTable value="#{registroBean.listarRegistros()}"
                     filteredValue="#{registroBean.filtredRegistro}"
                     var="registro"
                     widgetVar="registroTable"
                     id="tabelaRegistro"
                     class="table table-striped table-hover"
                     rendered="#{not emptyregistroBean.listarRegistros()}"> 

и добавить этот атрибут с помощью getter и setter в вас RegistroBean

private ArrayList<YourClass> filtredRegistro;

//Getter And Setter
public ArrayList<YourClass> getfiltredRegistro(){
   return this.filtredRegistro;
}
public void setfiltredRegistro(filtredRegistro){
       this.filtredRegistro=filtredRegistro;
    }
...