我有一个xhtml页面,其中我有一些primefaces组件poll,blockui和commandbutton,当我点击这个按钮时我保存了一些东西并启动异步过程和我需要阻止一个面板的同一页面(我使用blockui组件)和每5秒我需要验证这个过程是否完成。
我需要在我的流程完成后取消阻止此面板,但我在组件方面存在一些问题。它遵循我的代码
<p:blockUI id="blcInformacao" block="pnlInformacao" widgetVar="blockInformacao" blocked="#{cadastroCampanhaController.processando}" />
<p:poll interval="5" listener="#{cadastroCampanhaController.atualizarInformacaoImmportacao}" rendered="#{cadastroCampanhaController.campanha.codigo ne null}" stop="#{cadastroCampanhaController.campanha.importacaoFim ne null}" immediate="true" update="pnlImportacao btnSalvar " widgetVar="pollImportacao" autoStart="true" />
<p:commandButton id="btnSalvar" actionListener="#{cadastroCampanhaController.salvar}" value="SALVAR" update="@form" process="@this txtNome txtValidadeInicio txtValidadeFim rdDias txtStatus cmbFila txtScript" disabled="#{cadastroCampanhaController.processando}"/>
答案 0 :(得分:0)
我的解决方案:
在投票组件中:
<p:poll id="poll" interval="10" listener="#{Bean.yourMethodBean}" update=":form:tableServico" onstart="PF('block').show()" oncomplete="PF('block').hide()">
</p:poll>
在数据表中创建一个面板
<p:outputPanel id="pnldatatable" >
<p:dataTable id="tableServico" >
YourColumns
</p:dataTable>
</p:outputPanel>
p:blockUI组件,为面板id设置属性块,在本例中为pnldatatable:
<p:blockUI block="pnldatatable" widgetVar="block" >
LOADING<br />
<p:graphicImage library="img" name="loader.gif"/>
</p:blockUI>
阻止(&#34; PF(&#39;阻止&#39;)。show()&#34;)和解锁(&#34; PF(&#39;阻止&#39;)。隐藏( )&#34;)带有widgetVar对象的我的blockUI组件,用于poll组件的onstart和oncomplete事件。