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
et dans ma vue xhtml voila mon datatable:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Partager