[RichFaces4.2] DataTable dynamique avec mise à jour Ajax
Bonjour à tous,
J'essaie de faire afficher un rich: DataTable, avec un nombre de colonnes et de lignes variables.
Voici le use-case:
Au début, la datatable est vide.
Puis, grâce à quelques manipulations via l'interface utilisateur, je remplis 2 listes, construites ainsi:
Code:
1 2 3
|
List<String> tabHeader = new ArrayList<String>();
List<List<String>> tabDataList = new ArrayList<List<String>>(); |
Les listes sont correctement peuplées.
Ma dernière action met à jour la datatable "table" suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<rich:dataTable value="#{mainController.view.tabDataList}" var="tabTable" id="table">
<a4j:repeat rowKeyVar="i" value="#{mainController.view.tabHeader}" var="c">
<rich:column>
<f:facet name="header">
<h:outputText value="#{tabHeader}" />
</f:facet>
<h:outputText value="#{tabTable[i]}" />
</rich:column>
</a4j:repeat>
</rich:dataTable> |
Malheureusement, rien ne s'affiche...
J'ai essayé avec c:forEach ainsi :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<rich:dataTable value="#{mainController.view.tabDataList}" var="dataTable" id="table">
<c:forEach items="#{mainController.view.tabHeader}" var="c" varStatus="i">
<rich:column>
<f:facet name="header">
<h:outputText value="#{c}" />
</f:facet>
<h:outputText value="#{dataTable[i.index]}" />
</rich:column>
</c:forEach>
</rich:dataTable> |
Ca fonctionne, mais forEach empêche toute recharge par Ajax (pas la même phase de construction): en effet le nombre de colonnes/lignes ne sera pas modifié en moment du refresh...
Quelqu'un a-t-il une idée pour me faire afficher cette satanée datatable ?
Merci d'avance
Michael