我的表格中有一个仪表板,其中包含三个面板,每个面板都需要以不同的间隔进行更新:
为此,我试图使用Primefaces民意调查组件:
myPage.xhtml:(Primefaces版本:5.2)
<h:form id="myForm">
<p:poll interval="65" update=":panel1" listener="#{myBean.updatePanel1}"/>
<p:poll interval="30" update=":panel2" listener="#{myBean.updatePanel2}" />
<p:poll interval="45" update=":panel3" listener="#{myBean.updatePanel3}" />
<p:dashboard id="board" model="#{bean.dashboardModel}">
<p:panel id="panel1" header="Panel 1">
<p:chart id="myPieChart" type="pie" model="#{myBean.myPieChartModel}" />
</p:panel>
<p:panel id="panel2" header="Panel 2">
<p:chart id="myLineChart" type="line"
model="#{myBean.myLineChartModel1}" />
</p:panel>
<p:panel id="panel3" header="panel3">
<p:chart id="myLineChart2" type="line"
model="#{myBean.myLineChartModel2}" />
</p:panel>
</p:dashboard>
</h:form>
然而,我使用的所有民意调查不只是更新他们与之关联的面板,而是更新整个表单。我该如何解决这个问题?
任何建议都适用。
答案 0 :(得分:0)
这很好但你必须更改更新参考
<p:poll interval="65" update="panel1" listener="#{myBean.updatePanel1}"/>
<p:poll interval="30" update="panel2" listener="#{myBean.updatePanel2}" />
<p:poll interval="45" update="panel3" listener="#{myBean.updatePanel3}" />
如果你把:panel1它指的是来自&#39; myForm&#39;
的根答案 1 :(得分:-1)
您可以测试将prependId = false放入表单并在您的民意调查中更新=“board:panel1”。您是否检查过民意调查是否在图表中调用模型组件的get方法?