2014-02-06 22 views
2

當用戶完成他的選擇(關閉)時,我需要觸發對p:selectCheckboxMenu的操作。 datatable需要更新新的選定列(完成)。p:selectCheckboxMenu ajax事件名稱關閉

我無法找到適合Menu的主要角色的ajax行爲的事件名稱。p:selectCheckboxMenu的缺省ajax行爲更新每個選擇的數據表,這對我和用戶來說都很煩人,我只需要p:selectCheckboxMenu在關閉時觸發操作。

這裏是我的代碼:

<p:selectCheckboxMenu id="colser" 
         scrollHeight="100" 
         filterMatchMode="contains" 
         filter="true" 
         label="Colonnes" 
         value="#{datatableBean.selectedstateOptions}"> 
    <f:selectItems value="#{datatableBean.columner}" 
        var="list" 
        itemLabel="#{list.listname}" 
        itemValue="#{list.headername}"/> 
    <p:ajax event="close_event_name_here" 
      update=":form1:tabexam" 
      listener="#{datatableBean.updateCols()}"/> 
</p:selectCheckboxMenu> 

回答

7

你可以試試P的onhide屬性:selectCheckboxMenu。

 <p:selectCheckboxMenu id="colser" 
        scrollHeight="100" 
        filterMatchMode="contains" 
        filter="true" 
        label="Colonnes" 
        value="#{datatableBean.selectedstateOptions}" 
        onHide="executeOnOnhide();> 
      <f:selectItems value="#{datatableBean.columner}" 
       var="list" 
       itemLabel="#{list.listname}" 
       itemValue="#{list.headername}"/> 
     </p:selectCheckboxMenu> 

     <p:remoteCommand name="executeOnOnhide" 
     update=":form1:tabexam" process="@this form:colser" 
     action="#{datatableBean.updateCols()}"/> 

的鏈接,文檔指南primefaces供您參考
http://primefaces.org/documentation.html

希望這有助於

+0

我試了一下,它不工作,該表永遠不會更新,並updateCols()從未調用過。 –

+0

在遠程命令的進程權限中添加@this以及selectCheckBoxMenu ID並試一試。如果不發送任何參數,則不需要使用括號。 –

+0

標籤可以放在中,以防萬一你只希望它在selectCheckboxMenu範圍內 –