bonjour,
je dispose d'une datatable qui affiche les valeurs d'une arraylist de la façon suivante:
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
 
  <h:form id="form" style="red">  
            <p:growl id="growl1" showDetail="true" sticky="true" />
            <p:panel id="test" style="background: whitesmoke ">
                <p:dataTable value="#{eleve.valide}" var="o" paginator="true" rows="10" id="test1" styleClass="myTable" scrollable="true" 
                             paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                             rowsPerPageTemplate="10" widgetVar="50"   resizableColumns="true"  ><!--style="width: auto;"-->
                    <f:facet name="header"  >  
                         Liste des eleves   
                    </f:facet>
 
                    <p:column filterBy="#{o.header}" width="80px">
                        <f:facet name="header">  
                            <h:outputText value="En tete" style="color: #ffffff" />  
                        </f:facet>
                        <h:outputText value="#{o.header}"/>
                    </p:column>
                    <p:column sortBy="#{o.texte}" width="360px" >
                        <f:facet name="header">  
                            <h:outputText value="Message " style="color: #ffffff" />  
                        </f:facet>
                        <h:outputText value="#{o.texte}"/>
                    </p:column>
 
                    <p:column sortBy="#{o.date}" width="300px">
                        <f:facet name="header">  
                            <h:outputText value="Date" style="color: #ffffff" />  
                        </f:facet>
                        <h:outputText value="#{o.date}"/>
                    </p:column>
 
                    <p:column sortBy="#{o.status}" width="100px" >
                        <f:facet name="header">  
                            <h:outputText value="Status" style="color: #ffffff" />  
                        </f:facet>
                        <h:outputText value="#{o.status}"/> 
                    </p:column>
 
                    <p:column sortBy="#{o.solde}" width="40px">
                        <f:facet name="header">  
                            <h:outputText value="Nombre" style="color: #ffffff" />  
                        </f:facet>
                        <h:outputText value="#{o.solde}"/>
                    </p:column>
 
                    <p:growl id="growl" showDetail="true" sticky="true" /> 
                    <p:column  width="100px" id="test3">
                        <f:facet name="header">  
                            <h:outputText value="Statistiques" style="color: #ffffff" />  
                        </f:facet>
                        <p:commandButton value="generer" actionListener="#{eleve.statistiques(o)}" update=":form:growl1"  icon="ui-icon-check" style="background:  green !important; color: white" />
 
 
 
                    </p:column>
 
 
 
                </p:dataTable>
            </p:panel>
 
 
        </h:form>
et voiçi la methode statistique qui calcule les valeur à partir d'une base de donnée.
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
21
22
23
24
25
26
27
28
 
public void statistiques(EleveBean eleve) {
        int nbreTotal = 0;
        int nbreTransmis = 0;
        int nbreNonTransmis = 0;
 
        selectedCompagne = eleve;
        String relatedTable = selectedCompagne.getRelatedtable();
 
        Connection conn = com.util.ConnectionPool.getGatewayConnection();
        nbreTotal = Commons.compterNbre(relatedTable, conn);
        nbreTransmis = Commons.compterNbreDelivred(relatedTable, conn);
        nbreNonTransmis = Commons.compterNbreUnDelivred(relatedTable, conn);
 
 
        pieModel = new PieChartModel();
        pieModel.set("Delivred", nbreTransmis);
        pieModel.set("UnDelivred", nbreNonTransmis);
        pieModel.set("En attente", nbreTotal - (nbreTransmis + nbreNonTransmis));
 
 
        try {
            conn.close();
        } catch (SQLException ex) {
            Logger.getLogger(EleveBeanBean.class.getName()).log(Level.SEVERE, null, ex);
        } 
 
    }
la methode calcule bien les differents nombres mais je n'ai pas réussi à afficher le pie dans ma page.
J'aimerai si c'est possible, lorsque je clique sur le bouton "generer" devant chaque eleve, afficher un popup (ou meme dans la meme page en dessous du datatable ) qui affiche le pieModel qui contient le résultat de ma methode déjà postée.

merci d'avance