title: InputText inside Primefaces dataTable is not refreshed
body: <p>I need to have inputTexts inside primefaces datatable when form is in editable mode. </p>
  
  <p>Everything works properly except form cleaning with immediate="true" (without form validation). Then primefaces datatable behaves unpredictable. After filling in datatable with new data - it still stores old values.</p>
  
  <p>Short example - to show differences between h:dataTable and p:dataTable - <strong>but it works the same way when there is only one of three tables from the example</strong>:
  test.xhtml</p>
  
  <pre><code>&lt;h:body&gt;
      &lt;h:form id="form"&gt;
  
          &lt;p:dataTable var="v" value="#{test.list}" id="testTable"&gt;
              &lt;p:column headerText="Test value"&gt;
                  &lt;p:inputText value="#{v}"/&gt;
              &lt;/p:column&gt;
          &lt;/p:dataTable&gt;
  
          &lt;h:dataTable var="v" value="#{test.list}" id="testTable1"&gt;
              &lt;h:column&gt;
              &lt;f:facet name="header"&gt;
                  &lt;h:outputText value="Test value" /&gt;
              &lt;/f:facet&gt;
                  &lt;p:inputText value="#{v}" /&gt;
              &lt;/h:column&gt;
          &lt;/h:dataTable&gt;
  
          &lt;p:dataTable var="v" value="#{test.list}" id="testTable2"&gt;
              &lt;p:column headerText="Test value"&gt;
                  &lt;h:outputText value="#{v}" /&gt;
              &lt;/p:column&gt;
          &lt;/p:dataTable&gt;
  
          &lt;p:commandButton value="Clear" actionListener="#{test.clear()}" immediate="true" update=":form:testTable :form:testTable1 :form:testTable2"/&gt;
          &lt;p:commandButton value="Update" actionListener="#{test.update()}" update=":form:testTable :form:testTable1 :form:testTable2"/&gt;
      &lt;/h:form&gt;
  &lt;/h:body&gt;
  </code></pre>
  
  <p>And java:</p>
  
  <pre><code>import java.io.Serializable;
  import java.util.ArrayList;
  import java.util.List;
  
  import javax.annotation.PostConstruct;
  import javax.faces.bean.ViewScoped;
  import javax.inject.Inject;
  import javax.inject.Named;
  
  @Named
  @ViewScoped
  public class Test implements Serializable {
  
      private static final long serialVersionUID = 1L;
  
      private List&lt;String&gt;            list;
  
  
  
      @PostConstruct
      private void init(){
          update();
      }
  
      public List&lt;String&gt; getList() {
          return list;
      }
  
      public void setList(List&lt;String&gt; list) {
          this.list = list;
      }
  
      public void clear() {
          list = new ArrayList&lt;String&gt;();
      }
  
      public void update() {
          list = new ArrayList&lt;String&gt;();
          list.add("Item 1");
          list.add("Item 2");     
      }
  }
  </code></pre>
  
  <p>In the example above I have 3 configurations:
  1. p:dataTable with p:inputText
  2. h:dataTable with p:inputText
  3. p:dataTable with h:outputText</p>
  
  <p>And 2 buttons: first clears data, second applies data</p>
  
  <p>Workflow:</p>
  
  <ol>
  <li><p>Try to change data in inputTexts in p:dataTable and h:dataTable</p></li>
  <li><p>Clear data of list (arrayList of string) - click "clear" button (imagine that you click cancel on form because you don't want to store data to database)</p></li>
  <li><p>Load new data - click "update" button (imagine that you are openning new form with new data)</p></li>
  </ol>
  
  <p><strong>Question:</strong>
  Why p:dataTable with p:inputText still stores manually changed data, not the loaded ones?
  Is there any way to force p:dataTable to behaving like h:dataTable in this case?</p>