Xpages获取所有文档多个Lotus数据库

时间:2016-01-06 14:55:05

标签: datatable xpages repeat

我有3个数据库,每个数据库都有相同的命名视图。我只想将这3个视图中的所有文档拉到一个dataTable或重复控件或任何其他可以使用的组件。 我只想收集所有文件,在一个屏幕上看到它们。

此致 C.A。

3 个答案:

答案 0 :(得分:3)

一般来说,使用managed bean处理此问题的方法是绝对正确的,但请记住,如果必须处理大数据,那将是性能问题,因为编程方式(使用java “数据”对象,包括排序,过滤等操作,比使用索引数据要慢得多(例如xp:dominoView)!

在我看来,你只有两个选择:

1)编程方式,使用java(托管bean)或服务器端javascript。

2)“索引方式”,如果可以将您的数据收集到一个数据库中(例如使用预定代理)

答案 1 :(得分:2)

您可以获取文档并将它们全部添加到DocumentCollection并将其传递给repeat(也可能是数据表)。

我要做的是创建一个获取文档的Java bean。在那个bean里面你有一个公共类,让我们称之为docInfo。该类具有其中每行的数据(名称,地址,等等),并且可能是docId,以防您希望允许打开文档。当您创建该docInfo类的新实例并将其添加到List时。然后有一个返回List的方法。这是您在重复中调用的内容,然后使用getter获取每行的值。如果repeat的var是row,那么你可以使用row.getName()来获取名称等。

这将使您可以灵活地控制排序,并且还可以根据需要过滤文档。

霍华德

答案 2 :(得分:1)

@Howard - 您实际上无法创建跨越数据库的DocumentCollection。我最近尝试了这个并发现了。因为我可以在不同的选项卡中返回每个nsf中的值' (我在选项卡式面板中使用数据表),我的搜索是在bean中完成的。我只是返回NoteID,然后调用doc值来填充我的表。

@Cumhur,我建议做类似的事情,但您可能需要添加源数据库。

我没有比为我的项目获取NoteID更进一步,但如果我试图从对象中获取值,我遇到了一些困难。我的下一步是使用NoteID和源nsf创建一个JSON数组。但我没有去那里。但是,它可能是一个解决方案。从每个nsf获取搜索结果并将它们组合并返回组合结果。