我有两种相关的表单,我会将它们组合到一个视图控件中。没那么难。这是针对“1对多”类型的情况。如何按查找列对查看控件进行排序
假设我有一个客户视图,其中包含customerID和CustomerName列。然后我有一个视图,显示具有列masterCustomerID,orderNumber,orderDate的“许多”文档。
在XPage上,我创建了许多文档的视图控件,并添加了列masterCustomerID,orderNumber,orderDate。然后我在前面添加一个专栏来做一个DbLookup来提取客户的实际名称。真的没有太想象。
我的问题是,在这种情况下,查找列是第一列。根据该列对视图列进行排序的策略是什么?默认情况下,它将按顺序视图中的键值进行排序,这可能与名称值不同。
我不反对使用重复控件,如果这会更容易。
我首先想到的是以某种方式使用TreeMaps,但我不知道在可能有很多文档的情况下这是否可行。也许有什么我失踪...
任何意见,将不胜感激。谢谢
如果您希望它们按名称排序,您的视图必须首先按名称排序。然后查找其余的值(订单)。 –
我认为问题在于视图按customerID排序,并且他想按customerName对其进行排序,但客户名称在订单文档(仅限customerID)中不可用。我可以想出两种方法来解决这个问题:(1)处理来自大视图的所有文档,解析customerID,将其存储在TreeMap中,并将结果绑定到数据表/重复(可能会导致性能问题)(2)将客户名称存储在订单文档中。顺便说一句:你应该实现一个缓存机制来存储客户名称后,你看了他们:会给你更好的性能。 –
认真:将客户名称多余存储在许多文档中(毕竟它是Notes ;-))。然后在人员文档的查询中查找一些代码,检查名称是否被更改并启动更新代理。伪关系方法会杀死你的表现 – stwissel