primefaces datatable avec colonnes dynamiques
Bonjour et merci d'avance si vous pourrez m'aider je serais vraiment reconnaissante.
J'ai une table de base de donnée que je crée dynamiquement ayant un nombre de colonnes variable , pas de problemes jusque la . J'utilise jsf , primefaces pour afficher cette table dans un datatable , et pour cela je mets les données de ma table dans un arrayList .
Voila le code dans le managed bean
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| cols=new ArrayList<String>();
elts=new ArrayList<String>();
try {
Statement stmt = conn.createStatement();
ResultSet RS = stmt.executeQuery("SELECT * FROM temporaire");
ResultSetMetaData metadata = RS.getMetaData();
nombreColonnes = metadata.getColumnCount();
for(int j=1;j<=nombreColonnes;j++){
cols.add("colonne"+j);
}
while(RS.next()) {
for(int i=1;i<=nombreColonnes;i++){
elts.add(RS.getString(i));
}
} |
et dans ma vue xhtml voila mon datatable:
Code:
1 2 3 4 5 6 7 8 9 10 11
| <p:dataTable value="#{templateBean.elts}" var="elts" rowIndexVar="indro" rows="10"
paginator="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
columnsPerPageTemplate="5,10,15">
<p:columns value="#{templateBean.cols}" var="cols" columnIndexVar="index">
<f:facet name="header">
<h:outputText value="#{cols}"/>
</f:facet>
<h:outputText value="#{elts}"/>
</p:columns>
</p:dataTable> |
mon affichage donne une table qui repete le contenu de la premiere colonne dans toutes les autres comme ca:
collval1|collval1|collval1|collval1|collval1|
collval2|collval2|collval2|collval2|collval2|
collval3|collval3|collval3|collval3|collval3|
....
Aidez moi s'il vous plait a trouver quel est le probleme.
Merciii.