Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Won't Fix
-
Affects Version/s: 1.8.1, 3.0.RC2
-
Fix Version/s: EE-1.8.2.GA_P05
-
Component/s: ICE-Components
-
Labels:None
-
Environment:Win XP SP2
-
Assignee Priority:P3
-
Affects:Compatibility/Configuration
Description
<ice:column>
<f:facet name="header">
<ice:outputText value="Source Application" />
</f:facet>
<ice:outputLink value="http://www.microsoft.com">
<ice:outputText value="Test" />
</ice:outputLink>
</ice:column>
This cannot be resolved by simply writing a new outputhandler since the rendering code which creates the string from all of the children is in the dataExporter code. The handler should be passed the UIColumn data and so it has more control over the output process. For example, in the case of outputLinks the handler could create an Excel Hyperlink object.
<f:facet name="header">
<ice:outputText value="Source Application" />
</f:facet>
<ice:outputLink value="http://www.microsoft.com">
<ice:outputText value="Test" />
</ice:outputLink>
</ice:column>
This cannot be resolved by simply writing a new outputhandler since the rendering code which creates the string from all of the children is in the dataExporter code. The handler should be passed the UIColumn data and so it has more control over the output process. For example, in the case of outputLinks the handler could create an Excel Hyperlink object.
As I understand, if not make a big changes in code, better just ignore outputLink's value if there provided some human-readable label.
It can be done by adding another if-else with check for (uic instanceof UILink) condition in DataExporter.encodeParentAndChildrenAsString method.