primefaces charts nicht aktualisiert, wenn eine neue Anfrage senden

Ich senden von Daten und ein Diagramm angezeigt wurde, Aber wieder, wenn ich behaupte, dass es durch das einfügen neuer Werte in form,Diagramm aktualisiert nicht von selbst.Eine andere Sache, die ich sah, ist, wenn ich die Seite aktualisieren, dann aktualisiert das Diagramm und das Diagramm mit den neuen Werten angezeigt.

Zum Beispiel Wenn ich Werte
Weizen=40 und Zucker=60
und Einreichen , Es erscheint im display das Diagramm.
Wenn ich jetzt Einreichen Weizen=90 und Zucker=10 , es zeigt nichts an, aber die alte Grafik weiterhin auf der Seite vorhanden.
Wenn ich nun die Seite aktualisieren , wird Das Diagramm mit aktualisierten Werte verfügbar.
Wie kann ich loswerden, dass problem 🙁 Bitte eine Lösung vorschlagen, wenn jeder eine haben.

Hier ist mein code

Diagramm-Code

<p:barChart id="horizontal"
                        value="#{reportingCharts.categoryModel}" legendPosition="se"
                        style="width:635px;height:500px" title="Horizontal Bar Chart"
                        orientation="horizontal" min="0" max="150" animate="true"
                        zoom="true" barMargin="90"
                        rendered="#{chartsRendering.barCharts}" showDatatip="true" shadow="true" />

Taste Code

<h:commandButton id="btnLanguage" action="#{reportingCharts.getGraphValuesOnLanguageBasis}"
                                value="Plot Chart Language">
                                </h:commandButton>

getGraphValuesOnLanbguageBasis Methode

public void getGraphValuesOnLanguageBasis() {

        categoryModel = null;


            resList = (ArrayList<ChartResult>) serviceObj
                .getChartByLanguage(ranks, language);

        if (chartType.equalsIgnoreCase("bar")
                || chartType.equalsIgnoreCase("line")
                || chartType.equalsIgnoreCase("column")) {

            categoryModel = new CartesianChartModel();

            ChartSeries langChart = null;


            for (int a = 0; a < ranks.length; a++) {

                langChart = new ChartSeries();
                if(a == 0){
                    for(int z=0;z<language.length;z++){

                        langChart.set(languageMap.get(Integer.parseInt(language[z])),0);

                    }
                    }

                String rank = "";
                boolean rankAvailable = false;
                for (int x = 0; x < resList.size(); x++) {

                    if(Integer.parseInt(resList.get(x).getRankId()) == Integer.parseInt(ranks[a])){
                        rank = resList.get(x).getRankName();

                        x = resList.size();
                        rankAvailable = true;

                    }
                }


                if(rankAvailable == false){

                    langChart.setLabel(rankMap.get(Integer.parseInt(ranks[a])));

                }
                else{

                    langChart.setLabel(rank);
                }


                for (int x = 0; x < resList.size(); x++) {


                    if (Integer.parseInt(resList.get(x).getRankId()) == Integer
                            .parseInt(ranks[a]) && rankAvailable == true) {

                                                langChart.set(languageMap.get(Integer.parseInt(resList.get(x).getCriteria())), Integer
                                .parseInt(resList.get(x).getNoOfPersons()));


                    }

                }

                categoryModel.addSeries(langChart);

            }

        } else if (chartType.equalsIgnoreCase("pie")) {



                pieModel = new PieChartModel();


                for (int x = 0; x < resList.size(); x++) {

                        pieModel.set(languageMap.get(Integer.parseInt(resList.get(x).getCriteria())), Integer
                                .parseInt(resList.get(x).getNoOfPersons()));

                }

        }
        ChartsRendering chartRenderer1 = (ChartsRendering) FacesContext
                .getCurrentInstance().getExternalContext().getSessionMap()
                .get("chartsRendering");


        if (chartType.equalsIgnoreCase("bar")) {
            chartRenderer1.showBarChart();

        } else if (chartType.equalsIgnoreCase("line"))
            chartRenderer1.showLineChart();
        else if (chartType.equalsIgnoreCase("column"))
            chartRenderer1.showColumnChart();
        else if (chartType.equalsIgnoreCase("pie"))
            chartRenderer1.showPieChart();

    }
  • aktualisieren Sie das Diagramm oder den wrapper mit der update="chartOrItsWrapperID" der Schaltfläche, die Sie verwenden ? veröffentlichen Sie Ihren code...
  • ja sicher .welcher Teil, den Sie sehen wollen?
  • die Schaltfläche, die Sie erwarten, zu aktualisieren Sie Ihre Diagramm-und chart
InformationsquelleAutor khan | 2012-10-17
Schreibe einen Kommentar