寻呼机添加行控制使用数据视图控件,Ajax刷新无法正常工作

时间:2015-04-24 14:24:21

标签: xpages pager

使用" Pager添加行"控制与数据视图"在Domino XPages应用程序中,用户无法通过单击"显示更多..."来打开已添加的条目。寻呼机控制的链接。

此行为的原因是寻呼机控件添加的条目的URL与最初加载的条目的URL不同。

为了证明这一点,我创建了一个非常简单的示例应用程序。它包含一个单一的表格" Document"和一个视图"($ All)"。有两个XPage - 一个名为" Document"一个名为" View"。 XPage"查看"只包含一个"数据视图"使用汇总列集和" Pager Add Rows"进行控制。控制。以下是XPage的源代码" View":

<?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">
    <xe:dataView id="dataView1">
        <xp:this.facets>
            <xe:pagerAddRows id="pagerAddRows1" xp:key="pagerTop"></xe:pagerAddRows>
        </xp:this.facets>
        <xe:this.data>
            <xp:dominoView var="view1" viewName="($All)"></xp:dominoView>
        </xe:this.data>
        <xe:this.summaryColumn>
            <xe:viewSummaryColumn columnName="Subject"></xe:viewSummaryColumn>
        </xe:this.summaryColumn>
    </xe:dataView>
</xp:view>

当您在浏览器中打开XPage(并且数据库中有超过30个文档)时,前30个条目之一的URL就像

/db.nsf/%24%24OpenDominoDocument.xsp?documentId=67D5CBA1EAFDF2B0C1257E310049545A&action=editDocument

点击&#34;显示更多...&#34;寻呼机的链接控制附加条目&#39;网址类似于

/db.nsf/的 View.xsp /%24%24OpenDominoDocument.xsp documentId = 889BA0EEE8709BBCC1257E3100495497&安培;行动= editDocument

当我指定使用(Document.xsp)打开文档的XPage时,原始条目的URL看起来像这样:

/db.nsf/Document.xsp?documentId=67D5CBA1EAFDF2B0C1257E310049545A&action=editDocument

以及其他条目:

/db.nsf/的 View.xsp /Document.xsp?documentId=889BA0EEE8709BBCC1257E3100495497&action=editDocument

Domino插入&#34; View.xsp /&#34;进入附加条目&#39;网址。

点击其中一个条目&#39;链接页面重新加载,现在所有链接都包含&#34; View.xsp&#34;此外。

我在9.0.1 extlib版本的版本11和12中看到了这一点。

1 个答案:

答案 0 :(得分:0)

当我设置其属性时,寻呼机正常工作&#34; refreshPage&#34;为true,所以问题似乎是没有该属性的寻呼机执行的AJAX刷新:

<?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">
    <xe:dataView id="dataView1" pageName="/Document.xsp">
        <xp:this.facets>
            <xe:pagerAddRows id="pagerAddRows1" xp:key="pagerTop"
                for="dataView1" refreshPage="true" partialRefresh="true" refreshId="dataView1">
            </xe:pagerAddRows>
        </xp:this.facets>
        <xe:this.data>
            <xp:dominoView var="view1" viewName="($All)"></xp:dominoView>
        </xe:this.data>
        <xe:this.summaryColumn>
            <xe:viewSummaryColumn columnName="Subject"></xe:viewSummaryColumn>
        </xe:this.summaryColumn>
    </xe:dataView>
</xp:view>