如何在单击按钮时呈现primefaces lineChart

时间:2014-09-29 05:09:49

标签: jsf primefaces

美好的一天!

我是Primefaces和JSF的新手,并且看到展示的教程只显示了页面加载时lineChart的一个例子,我的问题是我不需要在页面上显示图表加载,但按一下按钮。但是,除非您通过与展示网站上的示例相同的@PostConstruct注释对图表进行初始化,否则图表似乎无法呈现。

点击按钮是否可以仅加载图表?

由于

1 个答案:

答案 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;
}