美好的一天!
我是Primefaces和JSF的新手,并且看到展示的教程只显示了页面加载时lineChart的一个例子,我的问题是我不需要在页面上显示图表加载,但按一下按钮。但是,除非您通过与展示网站上的示例相同的@PostConstruct注释对图表进行初始化,否则图表似乎无法呈现。
点击按钮是否可以仅加载图表?
由于
答案 0 :(得分:1)
ChartView在showcase上使用相同的代码。如果元素不存在,则无法更新元素,因此请将代码放在outputpanel中并进行更新。
<p:outputPanel id="toUpdate" >
<p:panel id="myPanel" rendered="#{chartView.flag}">
<p:chart id="chart" type="line" model="#{chartView.lineModel1}" style="height:300px;" />
</p:panel>
</p:outputPanel>
<p:commandButton value="load chart" update="toUpdate" action="#{chartView.setFlagToTrue()}" />
...
private boolean flag;
public void setFlagToTrue() {
this.flag = true;
}
public boolean isFlag() {
return flag;
}