2012-04-28 37 views
1

我需要在通過ajax更新時阻止數據表。我使用了blockUI組件,它是show()和hide()方法。但它只有一次!哪裏可以解決問題?感謝幫助。 下面是部分代碼:Primefaces塊組件只有一次

<p:dialog resizable="false" showHeader="false" modal="false" 
      widgetVar="statusDialog" draggable="false" closable="false"> 
    ... 
</p:dialog> 
<p:panel> 
<p:selectOneMenu id="source" value="#{mainBean.selectedSource}"> 
    .... 
    <p:ajax onstart="statusDialog.show(); feedBlock.show()" 
      oncomplete="statusDialog.hide(); feedBlock.hide()" 
      update="feed" listener="#{mainBean.filter(selectedSource, false)}"/> 
</p:selectOneMenu> 
</p:panel> 
... 
<p:dataTable id="feed" scrollable="true" scrollHeight="460" 
      value="#{mainBean.feed}" var="curr"> 
    ... 
</p:dataTable> 
<p:blockUI block="feed" widgetVar="feedBlock"/> 

回答

1

嘗試

<p:blockUI block="feed" trigger="source"/> 

p:ajax

刪除feedBlock.show()feedBlock.hide()您可能需要更改trigger="source"trigger="myform:source"等等

+0

謝謝。我通過覆蓋重疊的css類來解決這個問題。所以,在p:對話框中,我將屬性「modal」更改爲true,然後查看具有所需位置,高度和寬度的自定義疊加層。我認爲這隻有在我們只有一個區域可以阻止的情況下才有效,但這對我來說已經足夠了。 – user1237475 2012-05-05 12:58:04