簡體   English   中英

用ajax primefaces渲染panelgrid

[英]rendering panelgrid with ajax primefaces

我有這個

<p:selectOneMenu  id="dec" value="#{editCommandController.myCom.decision}" >  
                        <f:selectItems value="#{editCommandController.decisions}" />  
                        <p:ajax update="etat :myform:alors" event="change" />
                    </p:selectOneMenu>  

它允許禁用此

<p:selectOneMenu  id="etat" value="#{editCommandController.myCom.etat}" disabled="#{editCommandController.myCom.decision eq 'rejettée'}" >  
                        <f:selectItems value="#{editCommandController.etats}" />   
                    </p:selectOneMenu> 

當檢查條件時,當我檢查相同條件時,我也想隱藏此panelgrid:

 <h:panelGrid id="alors"   rendered="#{editCommandController.myCom.decision ne 'rejettée'}" >
                    <p:dataTable id="cars" style="width: 80px;" var="car" value="#{editCommandController.pdm}" paginator="true" rows="10"  
                                 selection="#{editCommandController.selectedPapier}" selectionMode="single" >  

                        <p:ajax event="rowSelect" listener="#{editCommandController.onRowSelect()}"   
                                update=":myform:jesuis" />  

                        <f:facet name="header">  
                            RadioButton Based Selection  
                        </f:facet>                    

                        <p:column headerText="libelle">  
                            #{car.libelle}  
                        </p:column>  

                        <p:column headerText="format">  
                            #{car.format}  
                        </p:column>  

                        <p:column headerText="stock" >  
                            #{car.stock}  
                        </p:column>  

                    </p:dataTable>  


                    <h:outputText  id="jesuis" value=" c est la papier : #{editCommandController.selectedPapier.libelle}"  />


                    <h:panelGrid columns="2" cellpadding="5" style="margin-top: 22px;">  
                        <h:outputLabel value="Reliure :" for="city" />
                        <p:selectOneMenu id="city" value="#{addPapierController.choixReliure}">  
                            <f:selectItem itemLabel="choisir reliure" itemValue="" />  
                            <f:selectItems value="#{addPapierController.libelleReliures}" />  
                            <p:ajax 
                                listener="#{addPapierController.handleCityChange}" />  
                        </p:selectOneMenu>
                    </h:panelGrid>

                </h:panelGrid>

但是我注意到它在第一次加載頁面時會檢查一次panelgrid

您是否想像上面的selectonemenu一樣一直使用此功能,謝謝

p:outputPanel包圍panelGrid。 然后,在“ dec”中的selectOneMenu中,還要更新outputPanel。 假設所有這些組件都在相同的表單中,則如下所示:

<p:selectOneMenu  id="dec" value="#{editCommandController.myCom.decision}" >  
       <f:selectItems value="#{editCommandController.decisions}" />  
       <p:ajax update="etat gridContainer :myform:alors" event="change" />
</p:selectOneMenu>  

<p:outputPanel id="gridContainer" layout="block" >
    <h:panelGrid id="alors" rendered="#{editCommandController.myCom.decision ne 'rejettée'}" >
         <!-- panel grid contents here.. -->  
    </h:panelGrid>
</p:outputPanel>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM