Привет Я использую PrimeFaces 5.2, и я использую диаграмму для данных. При загрузке страницы диаграмма пуста, только при обновлении отображается график. При поиске диаграмма снова не изменилась при обновлении или в новом поиске отображается график для предыдущего поиска. Извините за мой английский. Моя страница JSF:DonutChart не обновляется
<h:form id="statisfationFilterForm">
<h:outputText value="#{msg['media.reports.filter.date.from']}" />
<p:calendar id="dateFrom"
value="#{statisfationController.model.currentSatisfation.filter.startDate}"
pattern="dd/MM/yyyy"/>
.
.
.
<p:commandButton value="#{msg['button.search']}"
ajax="true"
action="#{statisfationController.model.getLazyModel()}"
update=":statisfationTableForm"/>
<p:commandButton value="#{msg['button.clear']}"
ajax="true"
action="#{statisfationController.clear()}"
update=":statisfationTableForm :statisfationFilterForm"/>
</h:form>
<h:form id="statisfationTableForm">
<p:chart id="chart" type="donut"
model="#{statisfationController.model.donutModel}"
style="width:400px;height:300px" />
<p:dataTable value="#{statisfationController.model.lazyModel}"
.
.
.
и мой satisfationmodel:
@PostConstruct
public void init() {
LOGGER.debug("Initialize 'satisfationModel' bean.");
try {
statisticsService.setClazz(E_CMS_STATISTICS_CROSSELER.class, Integer.class);
userInteractionService.setClazz(E_CMS_USER_INTERACTION.class, Integer.class);
satisfationDataModel = new DataGridModel<E_CMS_USER_INTERACTION>();
satisfationDataModel.setGridRendered(false);
currentSatisfation = new E_CMS_USER_INTERACTION();
currentSatisfation.setFilter(new UserSatisfactionReportFilter());
currentSatisfation.getFilter().setBenutzers(statisticsService.getAllBenutzers());
donutModel = new DonutChartModel();
} catch (Exception e) {
LOGGER.error("Exceptions while initializing 'customerstatisfation' bean!", e);
}
}
public LazyDataModel<E_CMS_USER_INTERACTION> getLazyModel(){
.
.
.
@Override
public List<E_CMS_USER_INTERACTION> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
.
.
.
List<E_CMS_USER_INTERACTION> list = response.getList();
donutModel = new DonutChartModel();
createDonutModels(list);
return list;
.
.
.
}
donutModel
содержит хорошие значения, но на странице показывает предыдущую диаграмму.
Любая идея, как я могу решить эту проблему?
Да, я пробовал, но это то же самое. Я также попытался отойти от формы и снова сделать то же самое. – FAndrew
Если он не заполнен функцией обработки данных, то работает нормально, но мне нужно заполнить с помощью данных datatable – FAndrew
спасибо за попытку помочь мне. Я нашел свой ответ :) – FAndrew