6 Replies Latest reply on May 1, 2007 12:35 PM by sergeysmirnov

    Howto insert our own stuff in a rich:dataTable which uses ri

      Hi,

      I want to have a rich:dataTable like this (of course, this doesn't work):

      <rich:dataTable>
       <tr>
       <td colspan="2">
       <table>
       ...
       </table>
       </td>
       </tr>
       <rich:column ...>
       </rich:column>
      
       <rich:column ...>
       </rich:column>
      </rich:dataTable>


      Is it possible?

      I tried
      <rich:dataTable>
       <f:facet name="caption">
       <table>
       ...
       </table>
       </f:facet>
       <rich:column ...>
       </rich:column>
      
       <rich:column ...>
       </rich:column>
      </rich:dataTable>

      but it doesn't work.

        • 1. Re: Howto insert our own stuff in a rich:dataTable which use

          Do you use JSF 1.2 or facelets?

          • 2. Re: Howto insert our own stuff in a rich:dataTable which use

            Also, do you really need this additional inside?
            If not, rich:dataTable allows to use colspan and rowspan in the header. If you show the result html mockup you want to have, I can translate it into the rich dataTable notations.

            • 3. Re: Howto insert our own stuff in a rich:dataTable which use

               

              "SergeySmirnov" wrote:
              Do you use JSF 1.2 or facelets?
              Yes, I do. I use both JSF 1.2 and Facelets 1.1.12.
              "SergeySmirnov" wrote:
              If you show the result html mockup you want to have, I can translate it into the rich dataTable notations.
              It's very kind of you to say that. Here is my mocked-up html code:
              <table>
               <tr>
               <td colspan="3" align="center">
               <table width="100%">
               <tr>
               <td>Left Most</td>
               <td align="center">Something else here</td>
               <td align="right">Right Most</td>
               </tr>
               </table>
               </td>
               </tr>
               <tr>
               <td colspan="3" align="center">Maybe a caption here</td>
               </tr>
               <tr>
               <td>Header 1</td>
               <td>Header 2</td>
               <td>Header 3</td>
               </tr>
               <tr>
               <td>data</td>
               <td>data</td>
               <td>data</td>
               </tr>
               <tr>
               <td>...</td>
               <td>...</td>
               <td>...</td>
               </tr>
              </table>

              Actually, the inserted stuff doesn't need to be in the rich:dataTable but I need the width of the inserted stuff to be equal to the width of the rich:dataTable. So I place it inside the rich:dataTable.


              • 4. Re: Howto insert our own stuff in a rich:dataTable which use

                I.e.:

                 <tr>
                 <td colspan="3" align="center">
                 <table width="100%">
                 <tr>
                 <td>Left Most</td>
                 <td align="center">Something else here</td>
                 <td align="right">Right Most</td>
                 </tr>
                 </table>
                 </td>
                 </tr>


                is not relative to the table, but inserted only to be aligned with it?

                The table starts with capture?

                • 5. Re: Howto insert our own stuff in a rich:dataTable which use

                  Yes, that part has nothing to do with the data table, and I just need it to be aligned with the table.

                  "SergeySmirnov" wrote:
                  The table starts with capture?
                  Yes, the table starts with a caption on the first row, the column headers on the 2nd row, then data on the next rows.

                  • 6. Re: Howto insert our own stuff in a rich:dataTable which use

                    If I were you I prefer the following layout:

                    <table border="0">
                     <tr><td>
                     <table width="100%">
                     <tr>
                     <td>Left Most</td>
                     <td align="center">Something else here</td>
                     <td align="right">Right Most</td>
                     </tr>
                     </table>
                     </td>
                     </tr>
                     <td>
                     <table width="100%" border="1">
                     <tr>
                     <td colspan="3" align="center">Maybe a caption here</td>
                     </tr>
                     <tr>
                     <td>Header 1</td>
                     <td>Header 2</td>
                     <td>Header 3</td>
                     </tr>
                     <tr>
                     <td>data</td>
                     <td>data</td>
                     <td>data</td>
                     </tr>
                     <tr>
                     <td>...</td>
                     <td>...</td>
                     <td>...</td>
                     </tr>
                    </table>
                     </td>
                     </table>


                    Transforming to the JSF code, it mean wrapping the table and top text with panelGrid. Something like:


                    <h:panelGrid column="1">
                    
                     <h:panelGroup>
                     <table width="100%">
                     <tr>
                     <td>Left Most</td>
                     <td align="center">Something else here</td>
                     <td align="right">Right Most</td>
                     </tr>
                     </table>
                     </h:panelGrid>
                    
                     <rich:dataTable width="100%">
                     ....
                     </rich:dataTable>
                    
                    </h:panelGrid>