PrimeFaces Extensions Gchart не работает должным образом - PullRequest
1 голос
/ 26 апреля 2020

Я использую PrimeFaces версии 6.1. Мне нужно показать свои данные в формате диаграммы. Для этого я реализовал компонент GChart в виде ссылки https://www.primefaces.org/showcase-ext/sections/gchart/basic.jsf. Я добавил ссылку в форму и, щелкнув по этой ссылке, я отобразил диаграмму. Мне нужно показать другой график в этой форме. Поэтому у меня есть разные панели для отображения разных графиков при нажатии разных кнопок. когда страница загружается и при нажатии на ссылку в первый раз, диаграмма отображается правильно. В следующий раз, когда я нажму на ту же ссылку, вся страница станет пустой. Я искал ошибку в консоли, и ошибка появляется, как показано ниже: enter image description here

Мне нужно обновить sh страницу, чтобы моя страница была в рабочем состоянии. Я попытался, указав идентификатор для тега pe: gChart, и когда я нажимаю на диаграмме ссылок, появляется страница, а на следующем щелчке страница становится пустой, и появляется ошибка, поскольку контейнер с новым заданным идентификатором не определен. Мой код представления выглядит так:

<script src="https://www.gstatic.com/charts/loader.js"></script>
<h:form id="dash">
<p:commandLink id="savButton" class="small-box-footer" action="#{dashboardMB.createPieModel1}" update="@form">
                    <h:outputLabel  styleClass="np" value="#{text.Detail}"/>
                    <i class="fa fa-arrow-circle-right"></i>

</p:commandLink>
<p:panel header="#{text.Saving}"  rendered="#{dashboardMB.savVisible}" id="panelSav" closable="false" toggleable="true" >


            <p:outputPanel id="container1" layout="block">


                <div id="savChart">
                    <pe:gChart value="#{dashboardMB.savingChartModel}" width="400" height="400"
                        title="Saving Wise">

                    </pe:gChart>
                </div>



            </p:outputPanel>


</p:panel>

Мой код управляемого бина выглядит так:

public void  createPieModel1() {  

            isSavVisible=true;
            DashboardModel dashObj=new DashboardModel();
            dashObj=dashBoardEJB.getvalues();
            chartSavingModel = new GChartModelBuilder()
                    .setChartType(GChartType.COLUMN)  
                    .addColumns("Topping", "Slices")
                    .addRow("A", dashObj.getCount1())  
                    .addRow("V", dashObj.getCount2())
                    .addRow("Z", dashObj.getCount3())
                    .addRow("W", dashObj.getCount4())
                    .build();  
  }

1 Ответ

1 голос
/ 27 апреля 2020

У вас несоответствие версии. Вы используете PrimeFaces 6.1, но используете только PrimeFaces Extensions 6.0.0. Ваши версии PF и PFE должны всегда совпадать.

Вы можете прочитать руководство по выпуску, чтобы узнать, какая версия всегда совпадает: https://github.com/primefaces-extensions/primefaces-extensions.github.com/wiki/Release-Notes

Таким образом, обновившись до PFE 6.1.1, который будет соответствовать вашей версии и исправить ваши проблемы.

...