2016-04-09 19 views
0

Ich habe ap: panel in einem ui verschachtelt: wiederhole, wenn ich versuche, eines der Panels zu wechseln, wird immer das letzte Panel umgeschaltet<p: panel toggleable = "true"> schaltet nur das letzte Feld um

<ui:repeat id="listes" value="#{rechercheTypeMesureCtrl.allTypeMesureArterielle}" var="l" varStatus="varStatus"> 

    <p:growl id="msg" showDetail="true" /> 
    <p:panel id="p" header="#{l.nom}" toggleable="true" closable="true" toggleSpeed="500" closeSpeed="500" widgetVar="panel" style="margin-bottom:20px" value="#{l.id_typeMesure}" > 
     <p:ajax event="close" listener="#{panelView.onClose}" /> 

     <p:ajax event="toggle" listener="#{panelView.onToggle}" /> 

     <h:panelGrid columns="8" cellpadding="10"> 

      <h:outputText value="Mesure"></h:outputText> 
      <h:inputHidden value="#{l.id_typeMesure}" /> 
      <p:inputText value="#{l.nom}"> 
      </p:inputText> 
       <h:outputText value="Min value"></h:outputText> 
      <p:inputText value="#{l.valeurMin}"> 
      </p:inputText> 
       <h:outputText value="Max value"></h:outputText> 
      <p:inputText value="#{l.valeurMax}"> 
      </p:inputText> 
      <p:commandButton actionListener="#{typeMesureCtrl.updateTypeMesureArterielle(l)}" id="iconOnly" icon= "ui-icon-pencil" action="typeMesure.xhtml?faces-redirect=true"/> 



     </h:panelGrid> 
    </p:panel> 
</ui:repeat> 

Antwort

0

ich bin ein wenig spät, aber gerade die ähnliche Situation ... Sehen Sie sich diese answer.

Also, versuchen Sie Panel entfernen widgetvar vollständig - wenn Sie generische Tasten in rechten Feld Kopf Ecke verwenden für Toggle /schließen.

Oder einfach parametriert Panel widgetvar Wert innerhalb Wiederholungsblock:

varStatus="varStatus" 
widgetVar="panel_#{varStatus.index}" 

und wenn man wird nicht zB wechseln. Zeile 5 mit externem Knopf oder Link:

onclick="PF('panel_5').toggle();" 

oder wenn Knopf ist im Inneren repat Block:

onclick="PF('panel_#{varStatus.index}').toggle();" 

(Zweiter Teil der Antwort in Primefaces getestet 6)