XPages:具有可排序列的viewPanel和Filtered结果

时间:2016-08-26 22:12:25

标签: xpages lotus-domino xpages-ssjs

我对此不屑一顾:我正在Lotus Domino 8.5.3上编写一个小型XPage应用程序。我想使用视图中的数据,我可以通过键过滤(参见下面的.key),同时具有可排序的列标题。为此,我使用viewPanel,它按预期工作,直到我尝试对列进行排序,然后所有结果都消失(表为空)。

如果我删除“this.keys”块,则列排序有效。如果我将其添加回来,数据最初会按预期进行过滤,但是一旦我尝试过滤列,页面就会刷新并且所有记录都消失了(表格现在为空)。

我花了几个小时尝试工作但无济于事。

非常感谢任何帮助。 提前谢谢!

亚历

其中的XPage代码完整如下:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
    pageTitle="Completed Status">
    <xp:this.resources>
        <xp:headTag tagName="link">
            <xp:this.attributes>
                <xp:parameter name="rel" value="stylesheet"></xp:parameter>
                <xp:parameter name="type" value="text/css"></xp:parameter>
                <xp:parameter name="href"
                    value="/interface/css/xpage.css">
                </xp:parameter>
                <xp:parameter name="media" value="screen"></xp:parameter>
            </xp:this.attributes>
        </xp:headTag>
    </xp:this.resources>
    <h1>Completed Status</h1>
    <xp:table>
        <xp:tr>
            <xp:td>
                <xp:text escape="false" id="title"
                    style="font-weight:bold">
                    <xp:this.value><![CDATA[#{javascript:
                        var instanceId = context.getUrlParameter("InstanceID");
                        var title = 'All Recipients';
                        if(instanceId!=null) {
                            var view = session.getCurrentDatabase().getView("(InstancesByInstanceID)");
                            var instance = view.getDocumentByKey(instanceId,true);
                            if(instance!=null) title = 'Recipients for ' + instance.getItemValueString('Title');
                        }
                        title;
                    }]]></xp:this.value>
                </xp:text>
            </xp:td>
            <xp:td align="right"></xp:td>
        </xp:tr>
        <xp:tr>
            <xp:td colspan="2">
                <xp:viewPanel rows="30" id="viewPanel1"
                    var="recipient">
                    <xp:this.facets>
                        <xp:pager partialRefresh="true"
                            layout="Previous Group Next" xp:key="headerPager" id="pager1">
                        </xp:pager>
                    </xp:this.facets>
                    <xp:this.data>
                        <xp:dominoView var="recipients"
                            viewName="CompleteStatus">
                            <xp:this.keys><![CDATA[#{javascript:
                                var instanceId = context.getUrlParameter("InstanceID");
                                if(instanceId!=null) return instanceId;
                            }]]></xp:this.keys>
                        </xp:dominoView>
                    </xp:this.data>
                    <xp:viewColumn id="viewColumn1" contentType="HTML"
                        columnName="$16">
                        <xp:viewColumnHeader id="viewColumnHeader1"
                            value="Category" sortable="true">
                        </xp:viewColumnHeader>
                    </xp:viewColumn>
                    <xp:viewColumn columnName="Name" id="viewColumn2">
                        <xp:viewColumnHeader id="viewColumnHeader2"
                            value="Recipient" sortable="true">
                        </xp:viewColumnHeader>
                    </xp:viewColumn>
                    <xp:viewColumn columnName="IsCompleted"
                        id="viewColumn3">
                        <xp:viewColumnHeader value="Completed"
                            id="viewColumnHeader3" sortable="true">
                        </xp:viewColumnHeader>
                    </xp:viewColumn>
                    <xp:viewColumn columnName="$13" id="viewColumn4">
                        <xp:viewColumnHeader value="Date Last Modified"
                            id="viewColumnHeader4" sortable="true">
                        </xp:viewColumnHeader>
                    </xp:viewColumn>
                    <xp:viewColumn columnName="$6" contentType="HTML">
                        <xp:viewColumnHeader id="viewColumnHeader5">
                        </xp:viewColumnHeader>
                    </xp:viewColumn>
                    <xp:viewColumn columnName="$14"
                        contentType="HTML">
                        <xp:viewColumnHeader id="viewColumnHeader6">
                        </xp:viewColumnHeader>
                    </xp:viewColumn>
                </xp:viewPanel>
            </xp:td>
        </xp:tr>
    </xp:table>
    <xp:br></xp:br>
</xp:view>

2 个答案:

答案 0 :(得分:1)

您已将视图列自行排序了吗?两个方向?我相信这是关键。

答案 1 :(得分:0)

这就是:这似乎是Lotus Domino 8.5.3中的一个已知问题:

标题:LO79744:XPAGES:排序另一列不工作&#34;按列值过滤&#34; 网址:https://www-304.ibm.com/support/entdocview.wss?uid=swg1LO79744

有人对工作有任何想法吗? 提前致谢! 欢呼声,

亚历