我的应用程序使用Application Control。在控件本身的右栏中,我放了另一个显示用户信息的CC。
这个想法是,当用户在整个应用程序中移动时,他们将始终看到此信息。
数据显示在第一个视图中,但不显示在任何表单中。
数据显示在视图中,但不在表单中,即使我能够在一个字段中检索unid文档。
自定义控件的代码如下所示。
非常感谢任何帮助。
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xe="http://www.ibm.com/xsp/coreex">
<xp:this.data>
<xp:dominoDocument var="document1" action="openDocument"
databaseName="TheTruth.nsf" formName="employee">
<xp:this.documentId><![CDATA[#{javascript:var userName:NotesName = session.createName(session.getEffectiveUserName());
var db:NotesDatabase = session.getDatabase(database.getServer(), "DATABASE.nsf");
var viewHandle = db.getView("(ViewName)");
var doc:NotesDocument = viewHandle.getDocumentByKey(userName.toString());
return doc.getUniversalID();}]]></xp:this.documentId>
</xp:dominoDocument>
</xp:this.data>
<xp:panel id="pnlHeader"
style="width:275.00px;padding-right:30.0px">
<xe:widgetContainer id="widgetContainerHeader">
<xp:panel style="padding-top:8.0px;padding-bottom:8.0px">
<xp:table>
<xp:tr>
<xp:td>
<xe:djTextBox id="djTextBox1"
style="width:97.0%;font-weight:bold;font-size:18pt"
value="#{document1.HR_FullName}">
</xe:djTextBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xe:djTextBox id="djTextBox2"
style="width:97.0%" value="#{document1.HR_MarketSegmentText}">
</xe:djTextBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xe:djTextBox id="djTextBox3"
style="width:97.0%">
<xe:this.value><![CDATA[#{javascript:"Blank"}]]></xe:this.value>
</xe:djTextBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xe:djTextBox id="djTextBox4"
style="width:97.0%">
<xe:this.value><![CDATA[#{javascript:var userName:NotesName = session.createName(session.getEffectiveUserName());
var db:NotesDatabase = session.getDatabase(database.getServer(), "DATABASE.nsf");
var viewHandle = db.getView("ViewName");
var doc:NotesDocument = viewHandle.getDocumentByKey(userName.toString());
return doc.getUniversalID();}]]></xe:this.value>
</xe:djTextBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xe:djTextBox id="djTextBox5"
style="width:97.0%">
<xe:this.value><![CDATA[#{javascript:"Blank"}]]></xe:this.value>
</xe:djTextBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xe:djTextBox id="djTextBox6"
style="width:97.0%">
<xe:this.value><![CDATA[#{javascript:"Blank"}]]></xe:this.value>
</xe:djTextBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xe:djTextBox id="djTextBox7"
style="width:97.0%">
<xe:this.value><![CDATA[#{javascript:"Blank"}]]></xe:this.value>
</xe:djTextBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xe:djTextBox id="djTextBox8"
style="width:97.0%" value="#{document1.HR_OfficePhone}">
</xe:djTextBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xe:djTextBox id="djTextBox9"
style="width:97.0%" value="#{document1.HR_CellPhone}">
</xe:djTextBox>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>
<xe:djTextBox id="djTextBox10"
style="width:97.0%" value="#{document1.HR_DirectDial}">
</xe:djTextBox>
</xp:td>
</xp:tr>
</xp:table>
</xp:panel>
</xe:widgetContainer>
</xp:panel>
</xp:view>
答案 0 :(得分:3)
您需要设置ignoreRequestParams =&#34; true&#34;。由于未设置,因此在没有在URL中传递文档的XPage上,它会显示您定义的文档。在您打开,编辑或创建文档的页面上,documentId等会被URL参数中的内容覆盖,这就解释了为什么您没有看到您期望的文档。自定义控件中数据源上的ignoreRequestParams将解决您的问题。