交互式pieChart和呈现的属性

时间:2013-07-02 20:06:26

标签: jsf primefaces pie-chart rendered-attribute

在我的Web应用程序中,我正在尝试创建一个简单的页面,其中有一个输入,一个命令按钮,一个面板和一个pieChart(内部面板)。面板开始不渲染(有一个MB和一个布尔att“canShowPanel”,它开始为false)。当用户单击commandButton时,将调用一个方法(actionListener)并将canShowPanel设置为true,并更新面板。所有工作(面板和pieChart都被渲染)但是,当用户点击pieChart切片时,不会触发事件(itemSelect)。我测试了启动canShowPanel的真值(即所有都在开始时显示),所有的工作都包括事件。

总结:如果未在开始时呈现pieChart,则在呈现之后不会触发事件。那是正常的行为吗?我的代码如下,但可以使用primefaces演示进行测试。只将pieChart放在一个面板(outputPanel,panel ...)中并在之后进行渲染。有用信息:饼图以MB填充

PS。在PrimeFaces 3.6-SNAPSHOT和Mojarra 2.1.7上运行(SNAPSHOT 20120206)(以及...... apache tomcat 7 ...)

MY XHTML(片段)

  <h:form>
      <h:inputText value="#{logosUserViewMB.question}" tabindex="0" />
      <p:commandButton icon="ui-icon-search" ajax="true" global="true"
         actionListener="#{logosUserViewMB.doSearch()}"
         update=":resultContainer">
      </p:commandButton>
   </h:form>

   <p:outputPanel id="resultContainer">
      <h:form prependId="false">
               <p:outputPanel id="chartContainer" rendered="#{logosUserViewMB.canShowPanel}">
         <p:pieChart id="pieChart" lazy="true"
            value="#{logosUserViewMB.questionResultView.pieModel}"
            legendPosition="w" title="No tit yet"
            style="width:400px;height:300px;border:none">
            <p:ajax event="itemSelect" listener="#{logosUserViewMB.itemSelect}"  global="true"/>
         </p:pieChart>
               </p:outputPanel>
      </h:form>         

0 个答案:

没有答案