2017-07-23 2 views
0

zurück Ich habe eine Schaltfläche, die den Wert eines Felds für die ausgewählten Dokumente in einem Ansichtsfenster ändern sollte. Aber was auch immer ich mache, ich habe auch die Spalten gewechselt, wo die Checkbox war, ich bekomme immer 0 IDs.viewPanel.getSelectedIds gibt 0

Hier ist meine Viewpanel:

<xp:viewPanel rows="30" id="viewPanel1" pageName="/Account.xsp" var="rowData"> 
    <xp:this.facets> 
     <xp:pager partialRefresh="true" 
       layout="FirstImage PreviousImage SeparatorPage Group NextImage LastImage" 
       xp:key="headerPager" id="pager1" alwaysCalculateLast="true"> 
     </xp:pager> 
    </xp:this.facets> 
    <xp:this.data> 
     <xp:dominoView var="view1" viewName="Konten\Fehler"> 
     <xp:this.search><![CDATA[#{javascript:return viewScope.get("searchString");}]]></xp:this.search> 
     </xp:dominoView> 
    </xp:this.data> 

    <xp:viewColumn id="viewColumn10" columnName="$errCodes"> 
     <xp:this.facets> 
      <xp:viewColumnHeader xp:key="header" id="viewColumnHeader10" value="Fehler"> 
      </xp:viewColumnHeader> 
     </xp:this.facets> 
    </xp:viewColumn> 
    <xp:viewColumn id="viewColumn9" styleClass="total"> 
     <xp:this.facets> 
      <xp:viewColumnHeader xp:key="header" id="viewColumnHeader9"> 
      </xp:viewColumnHeader> 
     </xp:this.facets> 
     <xp:this.value><![CDATA[#{javascript:if(rowData.isCategory()) 
{ 
    return rowData.getColumnValue("$11") 
}}]]></xp:this.value> 
     <xp:this.converter> 
      <xp:convertNumber type="number" integerOnly="true"> 
      </xp:convertNumber> 
     </xp:this.converter> 
    </xp:viewColumn> 
    <xp:viewColumn id="viewColumn8" columnName="accountnumber" displayAs="link"> 
     <xp:this.facets> 
      <xp:viewColumnHeader xp:key="header" id="viewColumnHeader8" value="Konto" sortable="true"> 
      </xp:viewColumnHeader> 
     </xp:this.facets> 
    </xp:viewColumn> 
    <xp:viewColumn columnName="iban" id="viewColumn1" showCheckbox="true"> 
     <xp:viewColumnHeader value="IBAN" id="viewColumnHeader1" sortable="true"> 
     </xp:viewColumnHeader> 
    </xp:viewColumn> 
    <xp:viewColumn columnName="accounttype" id="viewColumn2"> 
     <xp:viewColumnHeader value="Typ" id="viewColumnHeader2"> 
     </xp:viewColumnHeader> 
    </xp:viewColumn> 
    <xp:viewColumn id="viewColumn7" columnName="$info"> 
     <xp:this.facets> 
      <xp:viewColumnHeader xp:key="header" id="viewColumnHeader7" value="Fehlermeldung" sortable="true"> 
      </xp:viewColumnHeader> 
     </xp:this.facets> 
    </xp:viewColumn> 
</xp:viewPanel> 

und die Taste

<xp:button value="Ausblenden" id="button1" styleClass="btn-info"> 
    <xp:eventHandler event="onclick" submit="true" refreshMode="norefresh"> 
     <xp:this.action> 
      <![CDATA[#{javascript: 
      var viewPanel = getComponent("viewPanel1"); 
      var docIDArray = viewPanel.getSelectedIds(); 
      for(i=0; i < docIDArray.length; i++) 
      { 
       var docId = docIDArray[i]; 
       var doc:NotesDocument = database.getDocumentByID(docId); 
       doc.replaceItemValue("$shErr", 0); 
       doc.save(); 
      } 
     }]]> 
     </xp:this.action> 
    </xp:eventHandler> 
</xp:button> 

aber irgendwie getSelectedIds gibt überhaupt keine ID. Irgendwelche Ideen? Vielen Dank für Ihre Zeit!

+0

Sie haben den Button Action Code, aber nicht den ganzen Button Code gepostet. Wo ist der Rest? – shillem

+0

hat den Post bearbeitet, so dass jetzt der ganze Code verfügbar ist – AWinkler

+0

Wenn Sie sagen, dass Sie 0 IDs erhalten, meinen Sie ein leeres Array? Wenn Sie 'println ('selected ids:' + docIDArray);' nach der 'docIDArray'-Zuweisung hinzufügen, gibt die Domino-Konsole irgendetwas aus? – shillem

Antwort

0

Wenn Sie das unten versuchen, erhalten Sie irgendetwas von unidArray?

var unidArray = new Array(); 
         for(i=0; i < docIDArray.length; i++) { 
         var unid=database.getDocumentByID(docIDArray[i]).getUniversalID(); 
          unidArray.push(unid); 
         }