Version 1

    If you are creating nested tables with editable fields, you should not mix JSF datatable and richfaces datatable tags. e.g

     

    <h:datatable value ="your list" var ="c">

    <h:column>

    <rich:dataTable value="#{c.sublist}" var="d">

    <rich:column>

    <f:facet name="header">

    column name

    </f:facet>

    <h:inputText  value="#(d.someValue}>

         <f:ajax event="change"  execute="@form" render="@form"/>

      </h:inputText>

     

    </rich:column>

     

    </rich:dataTable>

    </h:column>

    </h:datatable>

     

     

    This, in theory, should work.. It works only if you have no editable fields  If you have editable fields, it will bind the  sublist value to the first element in the parent list.. Thus if your user tries to edit second or third element in the sub list, it will not update the item correctly.  In order for above code to work,,, your parent table should also be rich:datatable.

     

    <rich:datatable value ="your list" var ="c">

    <rich:column>

    <rich:dataTable value="#{c.sublist}" var="d">

    <rich:column>

    <f:facet name="header">

    column name

    </f:facet>

    <h:inputText  value="#(d.someValue}>

         <f:ajax event="change"  execute="@form" render="@form"/>

      </h:inputText>

     

    </rich:column>

     

    </rich:dataTable>

    </rich:column>

    </rich:datatable>