5

我的 XPage 有一个视图数据源,其中包含从 URL 参数构造的搜索公式(“在视图结果中搜索”)。

搜索结果显示在面板内的重复控件中。如果没有搜索结果,我想隐藏此面板并显示适当的消息。

该面板基于以下代码可见:

var vec:NotesViewEntryCollection = view1.getAllEntries();
vec.getCount() != 0;

但是,似乎 getAllEntries 在过滤发生之前返回视图中的所有条目。AllEntries 的帮助说“如果 FTSearch 过滤了视图,则此属性将返回过滤视图中的条目。”

我误解了这个吗?有没有办法在过滤后获取条目数?

4

2 回答 2

16

当您通过 SSJS 访问 dominoView 数据源时,您获得的不是 dominoView,而是与之关联的 NotesView。这就是 NotesView 类可用的属性和方法的原因。但是搜索是在 dominoView 数据源前端而不是在与其关联的 NotesView 对象上执行的。

不要使用数据源,而是获取使用它的控件(例如 A repeat、viewPanel 等)并使用 getRowCount() 方法。这将为您提供正确的总数。例如

getComponent("repeat1").getRowCount() 
于 2012-05-25T09:53:17.613 回答
1

使用视图标题属性....

示例:“显示 30 of 30220”

<xp:this.caption><![CDATA[#{javascript:return "Displaying " + getComponent("viewPanel1").getRowCount() + " of " + view1.getAllEntries().getCount();}]]></xp:this.caption>

注意:这也会计算分类行。

于 2016-09-01T15:09:16.773 回答