1

次のviewPanelがあります。ユーザーが計算されたページの URL をクリックしたときに、新しいページを開きたいと思います。私はこれを理解していないようです。

<xp:viewPanel rows="30" id="viewPanel9" showColumnHeader="false" var="rowData"viewStyle="width:auto" disableTheme="true">
<xp:this.data>
    <xp:dominoView var="view9" databaseName="product/picture.nsf"
    viewName="pictures3" keysExactMatch="true"
    keys="#{javascript:sessionScope.SelectedProduct;}">
    </xp:dominoView>
</xp:this.data>
    <xp:this.rendered><![CDATA[#{javascript:getComponent("viewPanel9").getRowCount() > 0}]]>
    </xp:this.rendered>
        <xp:viewColumn columnName="picDescr" id="viewColumn9" displayAs="link" openDocAsReadonly="true">
            <xp:this.iconSrc><![CDATA[#{javascript:thisid = rowData.getColumnValue("unid");
                thisdocument = rowData.getColumnValue("picName");
                calculatedlink = "servername/product/picture.nsf/O/"+thisid+"/$FILE/"+thisdocument;
                return calculatedlink}]]>
            </xp:this.iconSrc>
            <xp:this.pageUrl><![CDATA[#{javascript:thisid = rowData.getColumnValue("unid");
                thisdocument = rowData.getColumnValue("picName");
                picturename = thisdocument.replace("th_","");
                calculatedlink = "servername/product/picture.nsf/O/"+thisid+"/$FILE/"+picturename;
                return calculatedlink}]]></xp:this.pageUrl>
        <xp:viewColumnHeader value="Description" id="viewColumnHeader9">
        </xp:viewColumnHeader>
        </xp:viewColumn>
</xp:viewPanel>
4

2 に答える 2

3

しばらく前、私は同じ問題に取り組んでいました。うまくいく回避策を作成しましたが、それが最善の方法かどうかはわかりません。

まず、のdisplayAs属性をxp:viewColumnに設定しますhidden。したがって、次のようになります。

<xp:viewColumn columnName="picDescr" id="viewColumn9" displayAs="hidden" openDocAsReadonly="true">

次に、リンクコントロールを列に配置します。これは、[ソース]タブで行う必要があります。次に、リンクコントロールのtarget属性をに設定できます。_blankしたがって、コードは次のようになります。

<xp:viewColumn columnName="picDescr" id="viewColumn9" displayAs="hidden" openDocAsReadonly="true">
    <xp:link escape="true" target="_blank">
        <xp:this.text><![CDATA[#{javascript:rowData.getColumnValue("picDescr");}]]></xp:this.text>
        <xp:this.value><![CDATA[#{javascript:thisid = rowData.getColumnValue("unid");
thisdocument = rowData.getColumnValue("picName");
picturename = thisdocument.replace("th_","");
calculatedlink = "servername/product/picture.nsf/O/"+thisid+"/$FILE/"+picturename;
return calculatedlink}]]></xp:this.value>
    </xp:link>
...
...
...
</xp:viewColumn>
于 2013-03-05T11:34:48.297 に答える
1

代わりに繰り返しコントロールを使用すると思います。

上部近くで、行ったようにデータへのリンクを確立します。

<xp:this.data>
    <xp:dominoView var="contactsView"
        viewName="TeamDirectoryNameLU">
    </xp:dominoView>
</xp:this.data>

次に、「ビュー」が必要な場所:

<ul>
    <xp:repeat id="contactRepeat" rows="30" value="#{contactsView}" var="dataRow" disableOutputTag="true">
        <li>
            <xp:link escape="true" id="link1">
                <xp:this.value><![CDATA[#{javascript:return "m_ContactDetails.xsp?action=OpenDocument&documentId=" + dataRow.getDocument().getUniversalID();}]]></xp:this.value>
                <xp:this.text><![CDATA[#{javascript:return dataRow.getColumnValue("Name");}]]></xp:this.text>
            </xp:link>
        </li>
    </xp:repeat>
</ul>

モバイル アプリに関する最近のビデオで、TeamStudio からその基本を学びました。これは、クリックした連絡先の連絡先詳細 XPage を開く jQuery を利用した連絡先リストの一部です。

于 2013-03-05T20:27:46.860 に答える