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

Xpages 从视图列检索数据时如何避免64k限制?,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我知道@DbColumn()的SSJS版本与原始公式语言版本具有相同的64k限制。所以到目前为止,我一直使用NotesView.getColumnValues(),相信在这里我不会面临这样的限制 正如昨天一个紧急支持电话告诉我的那样,这显然是错误的,IBM也是如此 该代码用于填充组合框中的selectItems控件;打开承载组合框的页面会使服务器的http任务崩溃,然后导致整个服务器崩溃: <xp:selectItems> <xp:this.value><!

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

正如昨天一个紧急支持电话告诉我的那样,这显然是错误的,IBM也是如此

该代码用于填充组合框中的selectItems控件;打开承载组合框的页面会使服务器的http任务崩溃,然后导致整个服务器崩溃:

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

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

即使检索到的数据超过64k,从视图中检索所有类别条目的完整列表还有哪些替代方法

旁注:

我完全知道,在一个组合框中显示2000多个条目对某些人来说可能不是一个令人信服的可用性概念,但客户希望能够在一个地方看到所有可用条目,然后能够从该列表中进行选择。至少有一个标准的解决方案,它的视图面板上充满了类别条目、扭曲,并且需要一步一步地浏览大量页面,这不是一个解决方案


该应用程序运行在Domino9.0.1、WinSRV2008/64k上。幸运的是,JavaScript数组不限于64k

  • 创建一个数组
    var values=[],
  • 使用视图导航器“漫游”视图,并向数组中添加条目值 使用
    值。推送(“新值”)
  • 返回值

另一种选择是,您可以使用一个特殊的Java类从XSnippet为DbColumn和DbLookup提供支持:感谢这两个输入;我只是将数据复制到我自己的测试服务器上;不能冒险太频繁地使客户的服务器崩溃;)明天我将对这两个版本进行一次尝试——但真正让我不安的是,仅仅使用该功能就可以使Domino服务器崩溃,而且除了IBM的崩溃报告之外,我找不到任何关于我使用的功能的限制。我想,限制因素是最深层次的原始Notes功能。这就是为什么你不能欺骗他们。你说得对,Domino服务器崩溃真的很糟糕。但是,您有机会使用Java或JavaScript自行收集数据。我测试了Java版本,它的工作非常出色。所以我为所有视图实现了它,即使它们没有这个问题。唯一的缺点是,由于某些原因,它无法正确处理设置为“将多个值显示为单独的条目”的多值列,而是返回数组。但这是可以处理的。再次感谢!仅供参考:我在代码片段中添加了数组处理解决方案作为注释(注释2;第一个太复杂了…)