Since 3.2
At the moment, the ace:delegate component only works in conjunction with ace:tooltip and ace:contextMenu. It's primary use case is to apply a tooltip or context menu component to an entire table, but placing the tooltip or context menu component itself outside of such table, while still having access to the row data. The showcase demos under ace:tooltip / Delegate and ace:contextMenu / Delegate illustrate these use cases.
See the ICEfaces Showcase Live Demo 1 and Live Demo 2 of this component, complete with source code.
The ace:delegate component simply has to surround the table and have an id specified, as in the following example.
<ace:delegate id="tooltipDelegate">
<ace:dataTable id="carTable" value="#{dataTableSort.carsData}" var="car" paginator="true" rows="15">
<ace:column headerText="ID">
<h:outputText value="#{car.id}" />
</ace:column>
<ace:column headerText="Name">
<h:outputText id="carName" value="#{car.name}" />
</ace:column>
</ace:dataTable>
</ace:delegate>
<ace:tooltip id="tooltip" for="carName" forDelegate="tooltipDelegate" fetch="#{car}" store="#{delegateTooltipBean.data}">
<h:outputText value="Chassis: #{delegateTooltipBean.data.chassis}"/><br/><br/>
<h:outputText value="Weight: #{delegateTooltipBean.data.weight}lbs."/><br/><br/>
<h:outputText value="Accel: #{delegateTooltipBean.data.acceleration}"/><br/><br/>
<h:outputText value="MPG: #{delegateTooltipBean.data.mpg}"/>
</ace:tooltip>
TagLib Documentation
This section covers attributes involved in the typical use-cases for this component.
The id attribute is required so that other components can reference the delegate component by specifying this id.
None.
Not applicable.
None.
None.