title: Filter issue with p:datatable with p:selectOneMenu
body: <p>I have a p:datatable with p:selectOneMenus in each row. The problem:</p>
  
  <p>If I apply filter to one of the columns, the p:selectOneMenu gets an error class and also forgets the current selection(comes from bean).</p>
  
  <p>What causes this problem?</p>
  
  <p>Any ideas are welcome!</p>
  
  <p>Thank you in advance!</p>
  
  <p>PS: I'm using PrimeFaces 4.0 with JSF 2.0</p>
  
  <p><strong>EDIT</strong></p>
  
  <pre><code>&lt;p:dataTable id="customersDataTable" widgetVar="customersDataTableWidget" var="customer"
                      value="#{customerListManagedBean.customers}"
                      emptyMessage="#{bwadminmsg.tableNoRecordsFound}"
                      rows="#{sortTableSessionManagedBean.tableRowCount}"
                      paginator="true"
                      paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"  
                      rowsPerPageTemplate="5,10,15,20,25,30"
                      paginatorPosition="bottom"
                      paginatorAlwaysVisible="true"
                      currentPageReportTemplate="{currentPage} / {totalPages}"
                      selectionMode="single"
                      selection="#{customerListManagedBean.selectedCustomer}"
                      sortMode="single"
                      sortBy="#{sortTableSessionManagedBean.toLowerLatinCase(customer.customer.companyName)}"
                      sortOrder="ascending"
                      styleClass="customersDataTable"
                      filteredValue="#{customerListManagedBean.filteredCustomers}" &gt;
  
                      &lt;p:ajax event="rowDblselect"
                          listener="#{customerListManagedBean.onCustomerRowSelect}"/&gt;
  
                      &lt;p:ajax event="sort" listener="#{sortTableSessionManagedBean.customersDataTableSortListener}"/&gt;
  
                      &lt;p:columnGroup type="header"&gt;
                      &lt;p:row&gt;
                          &lt;p:column 
                              id="companyNameColumnHeader"
                              sortBy="#{sortTableSessionManagedBean.toLowerLatinCase(customer.customer.companyName)}" 
                              filterBy="#{customer.customer.companyName}"
                              filterMatchMode="contains" 
                              styleClass="customHeader"
                              &gt;
                          &lt;/p:column&gt;
                          &lt;p:column
                              id="phoneNumberColumnHeader"
                              headerText="#{msg.definitionRefreshLabel}" 
                              sortBy="#{sortTableSessionManagedBean.toLowerLatinCase(customer.customer.phoneNumber)}"
                              filterBy="#{customer.customer.phoneNumber}"
                              filterMatchMode="contains"
                              styleClass="customHeader"
                              /&gt;
                          &lt;p:column
                              id="townColumnHeader"
                              sortBy="#{sortTableSessionManagedBean.toLowerLatinCase(customer.customer.billSettlement)}"
                              filterBy="#{customer.customer.billSettlement}"
                              filterMatchMode="contains"
                              styleClass="customHeader"
                              /&gt;
                          &lt;p:column
                              id="actualCustomerColumnHeader"
                              styleClass="customHeader"
                              sortBy="#{sortTableSessionManagedBean.toLowerLatinCase(customer.currentCustomerUser)}"
                              filterBy="#{customer.currentCustomerUser}"
                              filterMatchMode="contains"
                              /&gt;
                      &lt;/p:row&gt;
                      &lt;p:row&gt;
                          &lt;p:column 
                              id="selectedCompanyNameColumn"
                              headerText="#{customerListManagedBean.selectedCustomer.customer.companyName}"
                              styleClass="selectedHeader ui-dt-c"&gt;
                          &lt;/p:column&gt;
  
                          &lt;p:column 
                              id="selectedPhoneNumberColumn"
                              headerText="#{customerListManagedBean.selectedCustomer.customer.phoneNumber}"
                              styleClass="selectedHeader ui-dt-c"&gt;
                          &lt;/p:column&gt;
  
                          &lt;p:column 
                              id="selectedTownColumn"
                              headerText="#{customerListManagedBean.selectedCustomer.customer.billSettlement}"
                              styleClass="selectedHeader ui-dt-c"&gt;
                          &lt;/p:column&gt;
  
                          &lt;p:column 
                              id="selectedActualCustomerColumn"
  
                              styleClass="selectedHeader ui-dt-c hiddenSelectorPlaceholder"&gt;
                          &lt;/p:column&gt;
                      &lt;/p:row&gt;
                      &lt;p:row&gt;
                      &lt;p:column colspan="4"&gt;&lt;/p:column&gt;
                      &lt;/p:row&gt;
                  &lt;/p:columnGroup&gt;
  
                      &lt;p:column 
                          id="companyNameColumn"&gt;
                          &lt;h:outputText value="#{customer.customer.companyName}" styleClass="ui-dt-c customWidthColumn"/&gt;
                      &lt;/p:column&gt;
  
                      &lt;p:column 
                          id="phoneNumberColumn"&gt;
                          &lt;h:outputText value="#{customer.customer.phoneNumber}" styleClass="ui-dt-c customWidthColumn"/&gt;
                      &lt;/p:column&gt;
  
                      &lt;p:column 
                          id="townColumn"&gt;
                          &lt;h:outputText value="#{customer.customer.billSettlement}" styleClass="ui-dt-c customWidthColumn"/&gt;
                      &lt;/p:column&gt;
  
                      &lt;p:column 
                          id="actualCustomerColumn"
                          &gt;
                          &lt;p:selectOneMenu id="actualCustomerSelect"
                          styleClass="actualCustomerSelector"
                          value="#{customer.currentCustomerUser}"
                          &gt;
                              &lt;f:selectItems value="#{customer.managers}" 
                              var="manager"
                              itemLabel="#{manager}"
                              itemValue="#{manager}"/&gt;
                              &lt;p:ajax listener="#{customer.customerChangeListener}" partialSubmit="true"
                              process="@this" onsuccess="customerChangeConfigDialogVar.show()"&gt;&lt;/p:ajax&gt;
                              &lt;/p:selectOneMenu&gt;
                      &lt;/p:column&gt;
  
                  &lt;/p:dataTable&gt;
  </code></pre>