两个DynamicView链接

时间:2018-11-09 17:12:13

标签: xpages

我正在使用dynamicViewPanel,它从多米诺骨牌视图中显示用户的附件信息。有4列可以正确显示信息。用户单击第一列时,将打开另一个页面,其中包含有关该附件的技术信息。我需要做的是,当用户单击显示[edit]的第4列时,将打开另一个页面,用户可以编辑显示的附件信息。我正在使用UserViewCustomizer代码。

关于如何获取[edit]链接以打开“附件”链接以外的其他页面的任何建议?

enter image description here

我的XPage代码:

clear

我的ViewCustomize代码:

<xe:dynamicViewPanel id="dynamicViewPanel2"
    pageName="#{empty sessionScope.formName ? 'QuickResponseCode.xsp' : sessionScope.formName}"
var="viewEntry" customizerBean="com.cascorp.UserProfileViewCustomizer">
  <xp:eventHandler event="onColumnClick" submit="true"
    refreshMode="complete" id="Attachment">
        <xp:this.action><![CDATA[# {javascript:sessionScope.hideAdd="Yes";
           var srlNbr = viewEntry.getColumnValue("serialNbr");
           var url="/qr/?"+srlNbr;
            context.redirectToPage(url);}]]></xp:this.action>
   </xp:eventHandler>
   <xp:eventHandler event="onColumnClick" submit="true"refreshMode="complete" id="edit"> 
        <xp:this.action><![CDATA[#{javascript: "I think something goes here" ]]></xp:this.action> </xp:eventHandler>
     <xp:this.facets>
         <xp:pager layout="Previous Group Next" partialRefresh="true" id="pager2" xp:key="footerPager">  </xp:pager>
        <xe:pagerSaveState id="pagerSaveState1" xp:key="viewTitle"</xe:pagerSaveState>
        <xp:pager layout="Previous Group Next" partialRefresh="true" id="pager1" 
        xp:key="headerPager"></xp:pager>
    </xp:this.facets>
    <xe:this.data>
        <xp:dominoView var="view1"
databaseName="#{configBean.UserprofilesDbPath}" viewName="#{empty 
sessionScope.viewName ? 'attachmentsbyowner' : sessionScope.viewName}"
keys="# 
    {javascript:session.getEffectiveUserName();}">
   </xp:dominoView>
  </xe:this.data>
</xe:dynamicViewPanel>

1 个答案:

答案 0 :(得分:0)

我使用了重复控件。见下文:

<tbody>
<xp:repeat id="repeat1" var="rowData" indexVar="ind" value="#{view1}"
    rows="10" repeatControls="true">
    <tr>
        <td>
            <xp:text escape="false"> </xp:text>
        </td>
        <td>
            <!--Create a link  -->
            <xp:link escape="true" text="#{rowData.Attachment}" id="link2"
                value="#{configBean.HostURL}qr?#{rowData.serialNbr}">
            </xp:link>
        </td>
        <td>
            <xp:text escape="true" id="computedField6" value="#{rowData.serialNbr}">
            </xp:text>
        </td>
        <td>
            <xp:text escape="true" id="computedField2" value="#{rowData.modelNbr}">
            </xp:text>
        </td>
        <td>
        <!-- CREATE A 2ND LINK -->
            <xp:link escape="true" id="link3" text="${langBean.labelEdit}">
                <xp:this.value><![CDATA[#{javascript:importPackage(com.cascorp);
hostName = configBean.getValue("HostCommon")
dbName = configBean.getValue("UserprofilesDbPath")
try{ if(rowData.isDocument()){
    return "MyProfileAttachment.xsp?databaseName="+hostName+"!!"+dbName+"&documentId="+rowData.getUniversalID()+"&action=editDocument"
}
} catch (e) {
return e.toString()
}}]]>
</xp:this.value>
            </xp:link>
        </td>
    </tr>
</xp:repeat>