2012-04-27 61 views
0

我的問題是,我想呈現有條件的form2。這與另一個form1的ajax更新事件相沖突,這應該觸發form2的呈現。更新字段的條件呈現形式

<h:form id="form1"> 
    <h:selectOneMenu id="selectedGroupId" label="#{msgs.group_group}" value="#{groupBean.selectedGroupId}"> 
     <p:ajax event="change" listener="#{groupBean.selectGroupEvent}" update=":form1"/> 
     <f:selectItems value="#{groupBean.availableGruppen}" /> 
    </h:selectOneMenu> 
</h:form> 

<h:form id="form2" rendered="#{not empty groupBean.groupDto}"> 
    <p:panelGrid id="groupEditGrid"> 
    ... 
    </p:panelGrid> 
</h:form> 

是否有這樣做,而無需把渲染狀態窗口2的構件內的一種方式?

感謝
強尼

回答

3

無法更新組件,是不是你的頁面上。但是你可以將你的表格換成h:panelGroup,即而不是,然後更新包裝器。

例子:

<h:form id="form1"> 
    <h:selectOneMenu id="selectedGroupId" label="#{msgs.group_group}" 
        value="# {groupBean.selectedGroupId}"> 
     <p:ajax event="change" listener="#{groupBean.selectGroupEvent}" 
       update=":formWrapper"/> 
     <f:selectItems value="#{groupBean.availableGruppen}" /> 
    </h:selectOneMenu> 
</h:form> 

<h:panelGroup id="formWrapper> 
    <h:form id="form2" rendered="#{not empty groupBean.groupDto}"> 
    <p:panelGrid id="groupEditGrid"> 
     ... 
    </p:panelGrid> 
    </h:form> 
</h:panelGroup> 
+0

再次感謝馬特。 – user871611 2012-04-27 10:11:49