“更新”属性可以同时更新两个组件吗?

时间:2013-06-27 04:58:27

标签: jsf primefaces

我有一个问题。是否可以一次更新两个组件? 我正在尝试这样的代码:

<h:panelGroup id="pickList">
    <p:panel  rendered="#{customCalender.visible}" widgetVar="searchTableBox">

    //Some codes.....

        <p:commandButton value="Cancel" update="pickList" actionListener="#{customCalender.closeList}" style="background:#25A6E1;color:red;font-family:'Helvetica Neue',sans-serif;font-size:10px;border-radius:4px;" />
        <p:commandButton value="Save" update="custDataTablePanel" actionListener="#{customCalender.saveTargetList}" style="background:#25A6E1;color:red;font-family:'Helvetica Neue',sans-serif;font-size:10px;border-radius:4px;"/>
   </p:panel>
</h:panelGroup>
....
.....
<h:panelGroup  id="custDataTablePanel">
   <p:panel rendered="#{customCalender.dataTableVisible}">
..
..
   </p:panel>
</h:panelGroup>

现在我希望当我点击Save按钮时它会隐藏<h:panelGroup id="pickList">并显示<h:panelGroup id="custDataTablePanel">所以我有两个布尔值来控制它们的可见性。但我需要更新其中两个面板。我用update="custDataTablePanel"做的一次显示按钮点击后的数据表。(在方法saveTargetList中,我将custDataTablePanel的可见性更新为true。)但是无法隐藏面板pickList

所以我在徘徊是否有任何方法可以隐藏并在一键式按钮中显示这两个面板。 请建议。

1 个答案:

答案 0 :(得分:12)

您可以在update属性中使用以空格分隔的多个元素

<p:commandButton update="element1 element2"/> 

您也可以使用update="@form"

更新整个表单