xe:对话框不显示视图数据

时间:2015-03-12 19:10:11

标签: xpages xpages-extlib

我的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

1 个答案:

答案 0 :(得分:2)

也许它有任何兴趣......:

我们找到了原因:视图的数据定义缺少

ignoreRequestParams="true"

这就是诀窍。