title: primefaces datatable filter do not work in subsequent clicks
body: <p>I have a primefaces view in which i filter a specific column (Task Status) using a drop down list. When i choose a value from the filter list for the first time, filter works ok, but in subsequent filter selections the table is not refreshed (my view is dead). </p>
  
  <p>Here is the view code:</p>
  
  <pre><code>&lt;p:dataTable id="tasksDataTable"
          var="cRTaskData" 
          value="#{taskCenterBean.cRTaskList}"
          widgetVar="tasksTable" 
          paginator="true"
          sortMode="multiple"
          filteredValue="#{taskCenterBean.cRTaskListFiltered}" 
          rows="10"
          paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
          rowsPerPageTemplate="10,15,20,30" 
          paginatorAlwaysVisible="false"&gt;
      &lt;p:ajax event="filter" update="@this"/&gt;
      &lt;p:column sortBy="#{cRTaskData.taskId}" headerText="ID" style="width:40px;text-align:center;"&gt;
          &lt;h:outputText value="#{cRTaskData.taskId}" /&gt;
      &lt;/p:column&gt;
  
      &lt;p:column filterBy="#{cRTaskData.status}" 
              filterMatchMode="exact" 
              filterOptions="#{taskCenterBean.cRTaskListOptions}" 
              headerText="Task Status" style="width:110px;text-align:center;"&gt;
          &lt;h:outputText value="#{cRTaskData.status}" /&gt;
      &lt;/p:column&gt;
      ...
      &lt;p:column style="width:90px;text-align:center;"&gt;
          &lt;p:commandButton value="View" 
              action="#{imageBrowserBean.openTaskInEditor(cRTaskData.taskId)}"                                        
              icon="ui-icon-image" /&gt;                     
      &lt;/p:column&gt;
      ...
  &lt;/p:dataTable&gt;
  </code></pre>
  
  <p>and here the relevant back bean code:</p>
  
  <pre><code>@ManagedBean(name = "taskCenterBean")
  @ViewScoped
  public class TaskCenterBean implements Serializable  {
      private final static String[] cRTaskStatuses = {"Open","Submitted","Closed","Conflict"};
      private List&lt;CRImageData&gt;   cRTaskList;
      private List&lt;CRImageData&gt;   cRTaskListFiltered;
      private SelectItem[]        cRTaskListOptions;
  
      public List&lt;CRImageData&gt; getcRTaskList() {
      return cRTaskList;
      }
  
      public List&lt;CRImageData&gt; getcRTaskListFiltered() {
      return cRTaskListFiltered;
      }
  
      public void setcRTaskListFiltered(List&lt;CRImageData&gt; cRTaskListFiltered) {
      this.cRTaskListFiltered = cRTaskListFiltered;
      }
  
      public SelectItem[] getcRTaskListOptions() {
      return cRTaskListOptions;
      }
  
      private SelectItem[] createFilterOptions(String[] data)  {  
          SelectItem[] options = new SelectItem[data.length + 1];  
  
          options[0] = new SelectItem("", "Select");  
          for(int i = 0; i &lt; data.length; i++) {  
              options[i + 1] = new SelectItem(data[i], data[i]);  
          }  
  
          return options;  
      } 
  
      @SuppressWarnings("unchecked")
      public TaskCenterBean(){
          Session session = HibernateUtil.getSessionFactory().openSession();
          Criteria criteria = session.createCriteria(CRTask.class);
          criteria.add(Restrictions.eq("reviewerId", ConfigOptionsBean.getCurrentUser().getUserId()));
          cRTaskList = criteria.list();
          session.close();    
  
          cRTaskListOptions = (SelectItem[]) createFilterOptions(cRTaskStatuses);
      }
      ...
  }
  </code></pre>
  
  <p>Any ideas what i have been missing? The logic is identical to the one featured in the relevant primefaces demo.</p>