Autor Thema: Show/Hide in XPages?  (Gelesen 3442 mal)

Offline du2008

  • Frischling
  • *
  • Beiträge: 28
Show/Hide in XPages?
« am: 09.07.12 - 22:15:53 »
Hallo zusammen,
ich wollte eigentlich auf einer Xpage mehrere Upload-Controls (4 insgesamt) verwenden und bei Bedarf sichtbar machen.
Dazu habe ich hinter jedem Upload Control ein Linkcontrol plaziert (beides immer in eine Pane gepackt) und wollte im OnClick event selbstdefinierte controlproperties setzen um die panes mit den uploadcontrols und links dann ein und auszublenden.
Praktisch habe ich mich dabei an diesem Beispiel orientiert. http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Tutorial-Introduction-to-XPages-Exercise-2
Im Sourceview des Customcontrols sieht die entpsrechende Stelle so aus:
<xp:panel id="pupload1">
            <xp:fileUpload id="fileUpload1"></xp:fileUpload>
            &#160;
            <xp:link escape="true" text="weiterer upload"
               id="link1">

               <xp:eventHandler event="onclick" submit="true"
                  refreshMode="partial" refreshId="pupload2">
                  <xp:this.action><![CDATA[#{javascript:compositeData.showupload2 = true;}]]></xp:this.action>
               </xp:eventHandler>
            </xp:link>
         </xp:panel>
         <xp:panel id="pupload2" rendered="#{javascript:compositeData.showupload2}">
            <xp:fileUpload id="fileUpload2"></xp:fileUpload>
            &#160;
            <xp:link escape="true" text="weiterer upload"
               id="link2">
               <xp:eventHandler event="onclick" submit="true"
                  refreshMode="partial" refreshId="pupload3">
                  <xp:this.action><![CDATA[#{javascript:compositeData.showupload3 = true;}]]></xp:this.action>
               </xp:eventHandler>
            </xp:link>
         </xp:panel>
.
.
.

Im Notesclient wäre das nur ne simple HideWhen Sache aber auf der XPage erscheinen die Panels gar nicht (auch nicht im Quelltext vom Browser) wenn die CompositeData default auf False stehen und in der VisiblePropertiy abgefragt werden. Dann kommt beim OnKlick auf das Linkcontrol immer "Beim Aktualisieren einiger Seitenbereiche ist ein Fehler aufgetreten.
   Kein zu bestätigendes Element mit ID view:_id1:_id2:pupload2 vorhanden".

Kann man das irgendwie anders lösen?

Gruß Dirk



Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Show/Hide in XPages?
« Antwort #1 am: 10.07.12 - 07:17:12 »
Ja, kann man.

Variante 1:
Die rendered-Property nicht auf das jew. Panel legen (dient ja nur, um eine ID für den Refresh zu haben), sondern die rendered-Property am link & fileUpload zu knüpfen.

Variante 2:
Die Panels in ein CustomControl verlagen, dem CC eine ID verpassen und dann die ID des CC's refreshen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz