当用户完成选择时(关闭),我需要对p:selectCheckboxMenu触发操作。 datatable需要使用新选择的列进行更新(完成)。

我找不到适合于菜单的主要角色的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>

最佳答案

您可以尝试p:selectCheckboxMenu的onhide属性。

      <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()}"/>

素字样文档指南的链接供您参考
http://primefaces.org/documentation.html

希望这可以帮助

10-06 01:00