Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Won't Fix
-
Affects Version/s: 2.0-Beta2
-
Fix Version/s: 2.0.0
-
Component/s: ICE-Components
-
Labels:None
-
Environment:Windows XP, Glassfish 2.1.1
-
ICEsoft Forum Reference:
Description
In latest Icefaces2 beta, when trying to render a list of datatables, only the last one is displayed.
This seems like a bug.
Using c:forEach works "fine", except it is not the right thing to use and a modification of the c:forEach source collection will not be reflected after first page view.
Anyone knowing how to solve that, or is there a workaround?
Yannick
Code:
<ui:repeat value="#{GestionDecharges.coursSelTravCollection}" var="ligneActivite" >
<ice:dataTable value="#{ligneActivite.ligneAttributionsAnneeN}"
var="attributionAnneeN">
<ice:column >
<f:facet name="header">
<h:outputLabel value="Nom" style="width: 150px" />
</f:facet>
<h:commandButton value="#{attributionAnneeN.nomEnseignant}" action="#{GestionDecharges.afficherVueProf(attribution.intervenant,GestionDecharges.anacAttributionDisplay)}" styleClass="lien" />
</ice:column>
<ice:column >
<f:facet name="header" >
<h:outputLabel value="Prénom" style="width: 150px"/>
</f:facet>
<h:outputText value="#{attributionAnneeN.prenomEnseignant}" style="width: 150px"/>
</ice:column>
</ice:dataTable>
</ui:repeat>
This seems like a bug.
Using c:forEach works "fine", except it is not the right thing to use and a modification of the c:forEach source collection will not be reflected after first page view.
Anyone knowing how to solve that, or is there a workaround?
Yannick
Code:
<ui:repeat value="#{GestionDecharges.coursSelTravCollection}" var="ligneActivite" >
<ice:dataTable value="#{ligneActivite.ligneAttributionsAnneeN}"
var="attributionAnneeN">
<ice:column >
<f:facet name="header">
<h:outputLabel value="Nom" style="width: 150px" />
</f:facet>
<h:commandButton value="#{attributionAnneeN.nomEnseignant}" action="#{GestionDecharges.afficherVueProf(attribution.intervenant,GestionDecharges.anacAttributionDisplay)}" styleClass="lien" />
</ice:column>
<ice:column >
<f:facet name="header" >
<h:outputLabel value="Prénom" style="width: 150px"/>
</f:facet>
<h:outputText value="#{attributionAnneeN.prenomEnseignant}" style="width: 150px"/>
</ice:column>
</ice:dataTable>
</ui:repeat>
Issue Links
- is duplicated by
-
ICE-6361 Problems nesting dataTable inside ice:repeat
- Closed
Testing with h:dataTable shows slightly better behavior: the tables render. However, the behavior is still ultimately flawed since the dataTable components are all assigned the same ID. In the case of ice:dataTable using the compat API DOMContext, duplicate IDs result in DOMContext re-use, causing the component to render on top of itself. JSF will need to be fixed so that ui:repeat behaves as a proper iterative naming container. If this is not implemented in JSF, ICEfaces can provide an ice:repeat that works correctly as an iterative naming container.
This will remain a known issue for ICEfaces 2.0, but an enhanced ice:repeat could be provided upon request to product.support@icesoft.com.