5 Replies Latest reply on Feb 11, 2008 3:46 PM by Tony Herstell

    Doco Update

    Tony Herstell Master

      I KEEP falling over the problem that if you don't have a <rich:column> after a <rich:dataTable> then not only does the stuff afterwards not appear but it doesn't even get processed.
      Can be very confusing!!

      Perhaps a small note (gotcha) in the doco in the datatable section...

        • 1. Re: Doco Update
          Nick Belaevski Master

          Please pardon me, but it seems I can't get you right :( Could you please somehow illustrate the issue?

          • 2. Re: Doco Update
            Tony Herstell Master

            Try taking the rich:column out from a rich:dataTable and see what happens...

            Everything is not rendered after where the rich:column tag was.

            You get no warning messages at all; it just doesn't render...

            e.g.

            rich:dataTable
            rich:column
            <output text blah blah>
            rich:column
            rich:dataTable

            take out (or foget to put in) the rich:column and you get no <output text blah blah> renderd.

            • 3. Re: Doco Update
              Sergey Smirnov Master


              Some components require only particular set of components to be their children. Like h:dataTable, h:selectOneMenu and so on. Do those standard components warn when you put an outputText there?

              • 4. Re: Doco Update
                Tony Herstell Master

                Not that I have seen!

                Which is why I sit scratching my head for ages till I figure it its NOT me and its actually not being rendered...

                • 5. Re: Doco Update
                  Tony Herstell Master

                   

                  <a4j:outputPanel id="allocation_days_with_bookings" layout="none" ajaxRendered="true">
                   <a4j:outputPanel id="allocation_days_with_bookings_panel"
                   rendered="#{bookingController.reason == 'ONE_HOUR_PRIVATE' || bookingController.reason == 'ONE_HOUR_OPEN'}">
                  
                   <h:panelGrid class="left" id="allocation_days_heading"
                   rendered="#{not empty bookingController.getArenaRequiredForOneHourBooking()}">
                   <h:outputText class="sub3_title" id="select_date_title"
                   value="#{messages.allocation_select_date}" />
                   </h:panelGrid>
                  
                   <s:fragment id="allocation_days"
                   rendered="#{not empty bookingController.getArenaRequiredForOneHourBooking()}">
                  
                   <rich:dataGrid var="allocEachResourceKind"
                   value="#{bookingController.getResourcesRequiredForOneHourBooking()}" columns="2" elements="2">
                   <f:facet name="header">
                   <h:outputText value="Allocations"></h:outputText>
                   </f:facet>
                   <rich:panel>
                   <f:facet name="header">
                   <h:outputText id="allocation_resource_kind"
                   value="#{messages[allocEachResourceKind.inlLabel]}" />
                   </f:facet>
                   <h:panelGrid columns="2">
                   <rich:dataTable var="dayForResourceKind"
                   value="#{resourceAllocationController.getDays(allocEachResourceKind, bookingController.getBookingDateRequired(), 1)}">
                  
                   <rich:column>
                  
                   <rich:dataTable var="daySlotForResourceKind" value="#{dayForResourceKind.daySlots}"
                   width="100%" border="0">
                   <f:facet name="header">
                   <rich:columnGroup>
                   <rich:column colspan="2">
                   <h:outputText value="#{dayForResourceKind.date.time}">
                   <s:convertDateTime type="date" dateStyle="full" />
                   </h:outputText>
                   </rich:column>
                  
                  blah blah
                  


                  When you are THIS far down the tree and things dont appear you can imagine it takes a bit of debugging to find out why...


                  nb.. you have to do the double aj4:output panel or else this part of the page does not update itself either... odd...