我的xpage上有一个xe:dialog控件,视图控件作为一种选项列表。该视图显示当前数据库的条目。它位于自定义控件中,嵌入在
中A)包含当前数据库数据的xpage,
B)具有2个数据源的xpage,doc1来自不同的db,doc2来自当前的db。
当我打开(显示)案例B中的对话框时,视图始终为空。从不同数据库的视图打开xpage B)。
对话框代码:
<xe:dialog id="diaSnippet" title="Textbaustein auswählen">
<xp:panel>
<xe:dialogContent id="dialogContent1">
<xp:panel>
<xp:inputText id="viwStartkey1"
value="#{viewScope.viwStartkey}">
</xp:inputText>
<xp:button iconAlt="Starts with" icon="/Search" id="bviwStartkey">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="viwOrgDB1">
</xp:eventHandler>
</xp:button>
<xp:viewPanel rows="30" id="viwOrgDB1" var="kbEntry">
<xp:this.facets>
<xp:pager partialRefresh="true" layout="Previous Group Next"
xp:key="headerPager" id="pager2">
</xp:pager>
</xp:this.facets>
<xp:this.data>
<xp:dominoView var="view1"
startKeys="#{javascript:if (hasContent(viewScope.viwStartkey)) viewScope.viwStartkey}"
keys="#{javascript:viewScope.UpdateField}" keysExactMatch="true"
viewName="lookupSnippet" databaseName="xpages\chhp1017.nsf">
</xp:dominoView>
</xp:this.data>
<xp:viewColumn columnName="ID" id="viewColumn1"
displayAs="link" openDocAsReadonly="true">
<xp:viewColumnHeader value="Kurzbez."
id="viewColumnHeader1">
</xp:viewColumnHeader>
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:var mySnippet = kbEntry.getColumnValue("Snippet");
fback.replaceItemValue(viewScope.UpdateField,mySnippet)
getComponent("diaSnippet").hide(viewScope.UpdateField + "1");
</xp:eventHandler>
</xp:viewColumn>
<xp:viewColumn columnName="Snippet" id="viewColumn2">
<xp:viewColumnHeader value="Textbaustein"
id="viewColumnHeader2">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="Comment" id="viewColumn3">
<xp:viewColumnHeader value="Kommentar"
id="viewColumnHeader3">
</xp:viewColumnHeader>
</xp:viewColumn>
</xp:viewPanel>
</xp:panel>
</xe:dialogContent>
<xe:dialogButtonBar id="dialogButtonBar1">
<xp:panel>
<xp:button id="button3" value="OK">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action>
<xp:actionGroup>
<xp:executeScript>
<xp:this.script><![CDATA[#{javascript:getComponent("diaSnippet").hide()}]]></xp:this.script>
</xp:executeScript>
</xp:actionGroup>
</xp:this.action>
</xp:eventHandler>
</xp:button>
</xp:panel>
</xe:dialogButtonBar>
</xp:panel>
<xp:eventHandler event="onHide" submit="true"
refreshMode="norefresh">
</xp:eventHandler>
</xe:dialog>
我尝试了dominoView的数据源,当前数据库,选择了db,就像我上面的代码一样,计算了数据库路径,但都具有相同的结果。
当我从当前数据库中找到“所有内容”时,对话框就好像对话框一样。
提前致谢,Uwe
答案 0 :(得分:2)
也许它有任何兴趣......:
我们找到了原因:视图的数据定义缺少
ignoreRequestParams="true"
这就是诀窍。