Xpages 重复控制数据不显示

Xpages 重复控制数据不显示,xpages,Xpages,我有一个应用程序,在另一个重复控件中使用一个重复控件。外部控件使用简单的DbColumn从视图列捕获数据。我有一个计算字段来显示repeat控件中的列表。内部重复控件使用基于外部重复控件列表的简单DbLookup。我使用一个链接来显示数据。问题是,使用DbLookup的repeat控件不会显示来自外部repeat控件的相应数据,除非至少要显示两个文档。如果外部控制列出公司A,并且只有一个采购订单文档与公司A关联,则不会显示。一旦为公司a创建第二个文档,两个文档都会按设计显示。这发生在我正在开发的

我有一个应用程序,在另一个重复控件中使用一个重复控件。外部控件使用简单的DbColumn从视图列捕获数据。我有一个计算字段来显示repeat控件中的列表。内部重复控件使用基于外部重复控件列表的简单DbLookup。我使用一个链接来显示数据。问题是,使用DbLookup的repeat控件不会显示来自外部repeat控件的相应数据,除非至少要显示两个文档。如果外部控制列出公司A,并且只有一个采购订单文档与公司A关联,则不会显示。一旦为公司a创建第二个文档,两个文档都会按设计显示。这发生在我正在开发的两个不同的应用程序上。这是因为如果只有一个结果,@DbColumn()不会返回数组,而是返回一个字符串

我建议您使用此改进版的DbColumn和DbLookup来处理此问题和其他问题,包括对缓存的支持:

将@DbLookup/@DbColumn包装在@Explode中可以解决您的问题@Explode应该返回一个数组。

没有更简单的方法来实现这一点吗?这是一堆返回简单结果的代码。您可以创建自己的helper方法,将DbColumn的结果转换为数组(如果是字符串)。但是,我链接到的代码段是一个很好的东西,可以包含在您的常规代码库中。我显然做错了什么,因为当我将代码段插入到重复控制代码中时,我得到了以下结果:Function:[Function Function]您需要将代码段添加到脚本库中,然后将其作为资源添加到XPage中。然后,您可以使用DbColumnArray()和DbLookupArray()函数,而不是@DbColumn()和@DbLookup()函数。非常感谢。我假设我根本不需要修改代码?