ICEfaces
  1. ICEfaces
  2. ICE-9235

ace:dataExporter - Support exporting summary rows defined in an ace:row tag

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.2.0.GA, 3.3
    • Fix Version/s: EE-3.3.0.GA, 4.0.BETA, 4.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All
    • Assignee Priority:
      P2
    • Salesforce Case Reference:

      Description

      Feature Request: Add support for exporting the contents of a summary grouped row defined in an ace:row tag.
      1. cars.pdf
        4 kB
        Arran Mccullough
      2. dataExporter.xhtml
        5 kB
        Arran Mccullough
      3. DataTableSort.java
        8 kB
        Arran Mccullough
      1. screenie.jpg
        147 kB

        Activity

        Hide
        Arran Mccullough added a comment -

        Added files that show:

        • Modified showcase code to show how the table is defined.
        • Sample output of current code base.
        Show
        Arran Mccullough added a comment - Added files that show: Modified showcase code to show how the table is defined. Sample output of current code base.
        Hide
        Arturo Zambrano added a comment -

        Committed improvement at revision 35127.

        Added support for exporting conditional rows to each format.

        As in previous cases, when a cell in a conditional row spans multiple columns, it is exported by repeating such cell for each column it spans. I tried to make the PDF format export such cells actually spanning multiple rows, as they look on the browser. However, the iText library doesn't have the notion of rendering arbitrary cells spanning multiple columns. All cells in a PDF table are the exact same size, and all rows are assumed to have the exact same number of columns/cells. The API has no such thing as an 'addRow()' method, you just call 'addCell()' and iText moves to the next row/line when the current row reaches the maximum number of cells for that table. The test I made consisted in adding an inner table with relative widths, so a column could be wider than others, but what happened was that such inner table was rendered completely inside a cell of the main table, and didn't take the full row's space, as intended. If we want to support cells that span multiple columns in arbitrary rows, we would have to change our entire PDF rendering strategy. Instead of using the PdfTable object from iText, we would simply draw the table by ourselves by rendering rectangles of whatever size we want and positioning them at any point we want, and thus build the table by ourselves.

        Show
        Arturo Zambrano added a comment - Committed improvement at revision 35127. Added support for exporting conditional rows to each format. As in previous cases, when a cell in a conditional row spans multiple columns, it is exported by repeating such cell for each column it spans. I tried to make the PDF format export such cells actually spanning multiple rows, as they look on the browser. However, the iText library doesn't have the notion of rendering arbitrary cells spanning multiple columns. All cells in a PDF table are the exact same size, and all rows are assumed to have the exact same number of columns/cells. The API has no such thing as an 'addRow()' method, you just call 'addCell()' and iText moves to the next row/line when the current row reaches the maximum number of cells for that table. The test I made consisted in adding an inner table with relative widths, so a column could be wider than others, but what happened was that such inner table was rendered completely inside a cell of the main table, and didn't take the full row's space, as intended. If we want to support cells that span multiple columns in arbitrary rows, we would have to change our entire PDF rendering strategy. Instead of using the PdfTable object from iText, we would simply draw the table by ourselves by rendering rectangles of whatever size we want and positioning them at any point we want, and thus build the table by ourselves.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: