0

在我的 Web 应用程序中,我试图创建一个简单的页面,其中有一个输入、一个命令按钮、一个面板和一个 pieChart(内部面板)。面板开始未呈现(有一个 MB 和一个布尔值“canShowPanel”,开始为假)。当用户单击 commandButton 时,将调用一个方法 (actionListener) 并将 canShowPanel 设置为 true,并更新面板。所有作品(呈现面板和饼图)但是,当用户单击饼图切片时,不会触发事件(itemSelect)。我测试了 start canShowPanel 的真值(即所有都在开始时显示),以及包括事件在内的所有作品。

总结:如果 pieChart 在开始时未呈现,并且在呈现之后,则不会触发事件。那是正常行为吗?我的代码在下面,但可以使用 primefaces 演示进行测试。仅将 pieChart 放入面板(输出面板、面板...)并使其在之后呈现。有用信息:饼图以 MB 为单位填充

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

我的 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>         

4

0 回答 0