title: Wrong row selected for edit after applying filter in prime faces 5.2
body: <p>i have problem in row selection after applying default filter using primefaces 5.2 and jsf 2.2
  Primefaces default filter work fine but when i select row to edit i got a wrong row .
   My code is attached below :</p>
  
  <pre><code>    &lt;?xml version='1.0' encoding='UTF-8' ?&gt;
  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
  
  &lt;ui:composition xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      template="../template/template.xhtml"&gt;
  
      &lt;ui:define name="container clearfix"&gt;
          &lt;ui:insert&gt;
  
              &lt;h:form id="Type_Utilisateur_Form"&gt;
  
                  &lt;p:commandLink action="#{typeUtilisateurBean.create()}"
                      oncomplete="PF('popAddTypeUtilisateur').show();"
                      style="font-size: 15px;"&gt;
                          Add user type                       
                      &lt;/p:commandLink&gt;
  
  
                  &lt;p:outputPanel id="Type_Utilisateur_List"&gt;
                      &lt;p:dataTable var="typeUtilisateur"
                          value="#{typeUtilisateurBean.listTypeUtilisateur}"
                          widgetVar="Type_Utilisateur_Table" rows="3" paginator="true"
                          rendered="true" emptyMessage="No records found with given criteria"
                          &gt;
  
                          &lt;f:facet name="header"&gt;
                              &lt;p:outputPanel &gt;
                                  &lt;p:inputText id="globalFilter"
                                      onkeyup="PF('Type_Utilisateur_Table').filter()"
                                      style="width:150px" placeholder="Search fields" /&gt;
                              &lt;/p:outputPanel&gt;
                          &lt;/f:facet&gt;
  
                          &lt;p:column headerText="User Type designation"
                              sortBy="#{typeUtilisateur.designationTypeUtilisateur}"
                              filterBy="#{typeUtilisateur.designationTypeUtilisateur}"
                              filterStyle="display:none"&gt;
                              &lt;h:outputText
                                  value="#{typeUtilisateur.designationTypeUtilisateur}" /&gt;
                          &lt;/p:column&gt;
                          &lt;p:column headerText="Actions" style="width:120px"&gt;
                              &lt;p:outputPanel&gt;
  
                                  &lt;p:commandLink action="#{typeUtilisateurBean.getRow()}"
                                      oncomplete="PF('popEditTypeUtilisateur').show();"&gt;
                                      &lt;p:graphicImage value="../template/images/file_edit.png"
                                          width="48" height="48"&gt;&lt;/p:graphicImage&gt;
                                  &lt;/p:commandLink&gt;
  
                                  &lt;p:commandLink action="#{typeUtilisateurBean.delete}"
                                      update=":Type_Utilisateur_Form:Type_Utilisateur_List"
                                      style="float: right;"&gt;
                                      &lt;p:graphicImage value="../template/images/file_delete.png"
                                          width="48" height="48"&gt;&lt;/p:graphicImage&gt;
                                  &lt;/p:commandLink&gt;
  
  
                              &lt;/p:outputPanel&gt;
                          &lt;/p:column&gt;
                      &lt;/p:dataTable&gt;
                  &lt;/p:outputPanel&gt;
              &lt;/h:form&gt;
  
              &lt;p:dialog widgetVar="popEditTypeUtilisateur" modal="true"
                  header="EDIT"&gt;
                  &lt;p:ajax event="close"
                      update=":Type_Utilisateur_Form:Type_Utilisateur_List" /&gt;
                  &lt;p:outputPanel autoUpdate="true"&gt;
                      &lt;h:form&gt;
                          &lt;p:panelGrid columns="2" layout="grid"&gt;
  
                              &lt;h:outputLabel value="User Type designation :" /&gt;
                              &lt;p:inputText id="designationTypeUtilisateur"
                                  value="#{typeUtilisateurBean.typeUtilisateur.designationTypeUtilisateur}" /&gt;
  
                          &lt;/p:panelGrid&gt;
                          &lt;p:commandButton value="Save" action="#{typeUtilisateurBean.save}"
                              oncomplete="if (!args.validationFailed) PF('popEditTypeUtilisateur').hide();" /&gt;
                          &lt;p:commandButton value="Cancel"
                              action="#{typeUtilisateurBean.init}"
                              oncomplete="PF('popEditTypeUtilisateur').hide();" /&gt;
                      &lt;/h:form&gt;
                  &lt;/p:outputPanel&gt;
              &lt;/p:dialog&gt;
  
  
              &lt;p:dialog widgetVar="popAddTypeUtilisateur" modal="true" header="Add"&gt;
                  &lt;p:ajax event="close"
                      update=":Type_Utilisateur_Form:Type_Utilisateur_List" /&gt;
                  &lt;p:outputPanel autoUpdate="true"&gt;
                      &lt;h:form&gt;
                          &lt;p:panelGrid columns="2" layout="grid"&gt;
  
  
                              &lt;h:outputLabel value=" User
                              Type designation :" /&gt;
                              &lt;p:inputText id="designationTypeUtilisateur"
                                  value="#{typeUtilisateurBean.typeUtilisateur.designationTypeUtilisateur}" /&gt;
  
                          &lt;/p:panelGrid&gt;
                          &lt;p:commandButton value="Save" action="#{typeUtilisateurBean.save}"
                              oncomplete="if (!args.validationFailed) PF('popAddTypeUtilisateur').hide();" /&gt;
                          &lt;p:commandButton value="Cancel"
                              action="#{typeUtilisateurBean.init}"
                              oncomplete="PF('popAddTypeUtilisateur').hide();" /&gt;
                      &lt;/h:form&gt;
                  &lt;/p:outputPanel&gt;
              &lt;/p:dialog&gt;
          &lt;/ui:insert&gt;
      &lt;/ui:define&gt;
  &lt;/ui:composition&gt;
  </code></pre>