我正在使用dynamicViewPanel,它从多米诺骨牌视图中显示用户的附件信息。有4列可以正确显示信息。用户单击第一列时,将打开另一个页面,其中包含有关该附件的技术信息。我需要做的是,当用户单击显示[edit]的第4列时,将打开另一个页面,用户可以编辑显示的附件信息。我正在使用UserViewCustomizer代码。
关于如何获取[edit]链接以打开“附件”链接以外的其他页面的任何建议?
我的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>
答案 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>