0

我正在使用动态视图面板,并希望在视图中创建一个“收藏夹”列。底层视图有一个“收藏夹”多值名称字段,其中包含已将文档标记为收藏夹的所有用户。我想做的是在“Customizer”bean 中处理这种转换,我可以将当​​前用户与“Favorites”列中存储的值进行比较,看看它们是否在列表中。如果是,我会显示一个“绿星”图标(不是标准的 Notes 图标),否则我会显示一个空的星形图标。我还想让星形图标变为活动状态,因此如果您单击星形,它将打开/关闭数据库中的收藏值。

如何实现这样的功能?

  1. 我需要覆盖哪些 DominoViewCustomizer 方法?(查看afterCreateColumn)
  2. 如何获取和设置列值?(真的迷路了)
  3. 如何让列显示 Notes 资源图像(我的星星),还是需要将其存储在服务器上的目录中?
  4. 如何使星形图标可点击?
  5. 如何捕获该点击事件?

使用 Domino v9.0.1

4

1 回答 1

0

如果您不必使用动态视图面板,这里有一种方法可以与视图面板、重复或数据表一起使用...

为每个用户使用“收藏夹”文档。让它包含一个多值项来存储用户收藏的所有文档的注释 ID。

当用户登录时,将多值字段的内容读取到 sessionScope 变量中。然后在您的视图列中,您需要做的就是检查当前行的 NoteID 是否在您的 sessionScope 变量中并显示适当的图标。

对于用户单击星号的部分,您将在该列上有一个事件处理程序,该处理程序会查找用户的收藏夹文档(如果它不存在则创建它)并添加或删除 NoteID 然后进行部分刷新风景。

您可能仍然可以使用动态视图面板来执行此操作,但我不能谈论它的细节,因为我不经常使用它。

于 2016-07-15T20:05:05.110 回答