我知道@DbColumn()的SSJS版本具有与原始公式语言版本相同的64k限制。所以到目前为止,我改用NotesView.getColumnValues(),相信在这里我不会遇到这样的限制。

昨天的紧急支持电话和IBM的this crash report告诉我,这显然是错误的。

有问题的代码用于在comboBox中填充selectItems控件。打开托管comboBox的页面会使服务器的http任务崩溃,然后导致整个服务器崩溃:

<xp:selectItems>
    <xp:this.value><![CDATA[#{javascript:database.getView("vwInvBySupplier").getColumnValues(0);}]]>
    </xp:this.value>
</xp:selectItems>


这是从视图中查找所有类别条目。我正在使用组合作为动态类别过滤器来显示在同一页面上的视图。

有什么选择可以从视图中检索所有类别条目的完整列表,即使检索的数据超过64k?

旁注:

我完全意识到,对于某些组合来说,在comboBox中显示2000多个条目可能不是一个令人信服的可用性概念,但是客户喜欢在一个位置查看所有可用条目,然后能够从该列表中进行选择。至少对于标准解决方案而言,它不是一个解决方案,它的标准面板中包含类别条目,曲折以及需要浏览大量页面的视图面板。

该应用程序在Domino 9.0.1,WinSrv 2008 / 64k上运行

最佳答案

幸运的是,JavaScript数组不限于64K。


创建一个数组var values = [];
使用视图导航器“遍历”视图,并将条目值添加到数组
values.push("new value")
return values

08-07 19:03