从视图列中检索数据时如何避免64k限制?

时间:2014-04-24 09:25:08

标签: xpages xpages-ssjs

我知道@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上运行

1 个答案:

答案 0 :(得分:5)

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

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