Générer pie statistique à partir de DataTable
bonjour,
je dispose d'une datatable qui affiche les valeurs d'une arraylist de la façon suivante:
Code:
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:
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