3 Replies Latest reply on Feb 13, 2007 7:12 AM by frippe

    How do I edit the contents of a datatable row?

    frippe

      My problem is, when I try to inject the object from the row I try to edit, I get the object in its unchaged mode, and I can't find the changes.

      Do you have ideas how to get the changes?

      In my stateful sessionbean @Name("aclList")

       @DataModel("acls")
       private List<ACL> acls;
      
       @DataModelSelection("acls")
       @Out(required=false)
       private ACL selAcl;
      
       @DataModel("rights")
       private List<ARO> rights;
      
       @DataModelSelection("rights")
       @Out(required=false)
       private ARO selAro;
      
      + the metods to fill the Lists...




      In the stateless action bean @Name("aclAction")

      @In(required=false)
       private ACL selAcl;
      
       public void edit(){
       System.out.println("ACLAction:edit() :: " + selAcl);
       }
      



      This is my form in the XHTML page

      <h:form>
       <h:dataTable value="#{acls}" var="selAcl" rendered="#{acls.rowCount>0}">
       <h:column>
       <f:facet name="header">Resource</f:facet>
       #{selAcl.axo.name}
       </h:column>
       <h:column>
       <f:facet name="header">Right</f:facet>
      
       <h:selectOneMenu id="selAro" value="#{selAcl.aro.ID}">
       <si:selectItems value="#{rights}" var="aro" label="#{aro.name}" key="#{aro.ID}"/>
       </h:selectOneMenu>
       </h:column>
      
       <h:column>
       <f:facet name="header">Valid</f:facet>
       <h:selectBooleanCheckbox value="#{selAcl.valid}"/>
       </h:column>
      
       <h:column>
       <s:link action="#{aclAction.delete}">Delete</s:link><br/>
       <s:link action="#{aclAction.edit}">Change</s:link>
       </h:column>
      
       </h:dataTable>
      </h:form>