Uploaded image for project: 'RichFaces'
  1. RichFaces
  2. RF-10756

collapsibleSubtable: id set to tbody differs from component id and break rendering.

    Details

    • Steps to Reproduce:
      Hide
      1. checkout showcase from this branch.
      2. build it and deploy on any server
      3. load: http://localhost:8080/showcase/richfaces/component-sample.jsf?demo=subTableToggleControl&skin=blueSky
      4. click on the render button
      5. see that the numbers are not increased
      6. see also the r:log output that the the client id of the table differs from the one which is being updated
      Show
      checkout showcase from this branch. build it and deploy on any server load: http://localhost:8080/showcase/richfaces/component-sample.jsf?demo=subTableToggleControl&skin=blueSky click on the render button see that the numbers are not increased see also the r:log output that the the client id of the table differs from the one which is being updated
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      render="tableId" could be temporary solution.

      Show
      render="tableId" could be temporary solution.

      Description

      added to richfaces-showcase code:

      			<rich:column colspan="6">
      				<rich:collapsibleSubTableToggler for="sbtbl" />
      				<h:outputText value="#{list.vendor}" />
      				<a4j:commandButton value="render" render="sbtbl" action="#{carsBean.incDaysLive}">
      				</a4j:commandButton>
      			</rich:column>
      			<rich:collapsibleSubTable value="#{list.vendorItems}" var="item" id="sbtbl"
      				expandMode="client">
      				<rich:column>
      					<h:outputText value="#{item.daysLive}" />
      				</rich:column>
      

      and

          public void incDaysLive(){
              for (InventoryVendorList vendor : inventoryVendorLists) {
                  for (InventoryVendorItem item : vendor.getVendorItems()) {
                      item.setDaysLive(item.getDaysLive()+1);
                  }
                  
              }
          }
      

      do not see values updated before refreshing the browser.

      According to log update came fine for the subtable. just wrapper tbody has different id than specified at component. so it can't be updated.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                ilya_shaikovsky Ilya Shaikovsky
              • Votes:
                2 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated: