ICEfaces
  1. ICEfaces
  2. ICE-11164

ace:dataExporter, content of components that perform iteration is not exported

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-4.1.0.GA, EE-3.3.0.GA_P04
    • Fix Version/s: 4.3, EE-3.3.0.GA_P06
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All
    • Support Case References:
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      The workaround consists of, instead of using an iterative component, simply using an h:outputText component and build a string based on the List that would've been used in ui:repeat, concatenating all item values in the List and adding necessary formatting, like commas. This h:outputText component would only be rendered when performing the export operation (i.e. having a boolean property bound to its 'rendered' attribute that returns true only when the current phase is the Invoke Application phase).
      Show
      The workaround consists of, instead of using an iterative component, simply using an h:outputText component and build a string based on the List that would've been used in ui:repeat, concatenating all item values in the List and adding necessary formatting, like commas. This h:outputText component would only be rendered when performing the export operation (i.e. having a boolean property bound to its 'rendered' attribute that returns true only when the current phase is the Invoke Application phase).

      Description

      Iterative components like ui:repeat, icecore:repeat, ace:list and any other component that performs iteration don't get to be exported by ace:dataExporter. This is because, when exporting, the components aren't really processed in the same way as when they're rendered. The export operation occurs in the Invoke Application phase, and the component values are extracted by different means, depending on the general type of the component. An UIData component just won't go through the full iteration process at this stage, initiated by the ace:dataExporter component. Perhaps we could consider adding some special processing for UIData components in ace:dataExporter to perform the full iteration process and extract the value at each row, and we just concatenate all the values.

        Activity

          People

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

            Dates

            • Created:
              Updated:
              Resolved: