2016-01-25 4 views
0

Я новичок в jsf и хотел бы знать, как выполнять фильтр данных в dft-файлах. Я хочу, когда пользователь начнет вводить текстовое поле поиска, чтобы отфильтровать все записи и, в конце концов, оставил значение в текстовом поле поиска. Как я могу достичь этого в jsf datatable Я использую perffaces 3.5. вот мой сопоставимый и соответствующий управляемый компонент.Как реализовать пользовательский фильтр данных в datatable

<p:tabView dynamic="true" id="tabview" cache="true" style="min-height: 500px;"> 
        <p:tab title="first Tab"> 

          <h:form > 
             <p:dataTable paginator="true" value="#{mybean.allusers}" var="user" id="user_table" widgetVar="userTable"> 
     <p:outputPanel> 
      <h:outputText value="Search all fields:" /> 
      <p:inputText id="globalFilter" onkeyup="PF('userTable').filter()" style="width:150px" placeholder="Enter keyword"/> 
     </p:outputPanel> 
             <p:column> 
              <f:facet name="header"> 
               <h:outputText value="Name"/> 
              </f:facet> 
              <h:outputText value="#{user.name}"/> 
             </p:column> 
             <p:column> 
              <f:facet name="header"> 
               <h:outputText value="Id"/> 
              </f:facet> 
              <h:outputText value="#{user.id}"/> 
             </p:column> 
            </p:dataTable> 
          </h:form 


        </p:tab> 
    </p:tabView > 


import java.util.List; 
import javax.faces.application.FacesMessage; 
import javax.faces.bean.ManagedBean; 
import javax.faces.bean.ViewScoped; 

import javax.faces.context.FacesContext; 
@ManagedBean 
@ViewScoped 
     private List<Users> filteredUsers; 
     public List<RevenueGroup> getFilteredUsers() { 
    return filteredGroups; 
    } 
public void setFilteredGroups(List<Users> filteredUsers) { 
    this.filteredUsers = filteredUsers; 
} 
public List<Users> getAllusers() { 
if(grps==null) 
{ 
grps=UserDao.getUser(); 
} 
return grps; 
} 

ответ

0

Primeface предоставляет встроенные фильтры таблицы данных. Проверьте ссылку ниже

DataTable - Filter

См FilterView.java в одной и той же странице, где вы можете увидеть, как реализованы фильтры.

Также рассмотрите вопрос о модернизации основного пространства, последняя версия - 5.3.

+0

Когда я перехожу к разделам 5.3, получаю эту ошибку. Вызывается: java.lang.ClassNotFoundException: org.primefaces.component.menuitem.MenuItem - проблема совместимости? я использую расширение frontfaces 0.7.1.jar –

+0

добавить расширение явно – vels4j

+0

Я исправил эту проблему, но теперь, когда я нажимаю на текстовое поле поиска, все данные исчезают? что я могу делать неправильно? –

Смежные вопросы