首页 文章

在XPage中动态创建多米诺骨牌视图

提问于
浏览
0

我想知道我是否可以单击XPage中的按钮并动态创建Domino视图,然后在同一页面的面板控件中显示它 . 我想这样做的原因是因为我有一个分类视图,我不想通过全文搜索丢失类别数据 . 所以我正在考虑动态创建一个新视图,并将我的搜索参数(如结束日期或开始日期)传递到视图选择公式中 .

可能吗?任何其他替代解决方案也欢迎 .

3 回答

  • 4

    是的,你可以,但你不想 . Domino视图占用数据库中的空间,并且在第一次使用时需要相当长的时间 . 因此,您最终需要占用大量空间,并且需要在删除后调整数据库空间 . 你的回复时间会很长 .

    Notes视图中显示的类别为no web interaction pattern,因此您可能希望解决实际上不应存在的问题 .

    Domino应用程序的首选方法是通过搜索进行导航/向下钻取 . 但是你可以做一个FTSearch,你可以在其中将类别添加到搜索参数中,并将结果呈现在重复控件而不是视图控件中 . 在那里你可以更好地控制外观和感觉 .

  • 1

    无论它是否是最佳解决方案,关于即时创建视图的直接问题的答案都是肯定的:数据库类有一些“createView”方法,允许您创建一个新视图,完全从头开始或基于一个命名的其他视图 . 从那里,您可以在创建的视图中使用“setSelectionFormula”和“createColumn”方法来构建您想要的内容 . 你不能用这些方法做一切,但这可能就足够了 .

    您可能遇到的一个问题是ACL访问:您需要设计师对数据库的权限,这是普通用户最不可能拥有的权限 . 如果使用sessionAsSigner对象来获取数据库的签名者版本(例如,“var signerDB = sessionAsSigner.getDatabase(database.getServer(),database.getFilePath())”),则可以从那里开始工作 . 我不记得你是否也必须在ACL的最后一个标签上设置“最大上网”设置,但你可以 .

  • 3

    我假设您指的是根据类别选择文档时存在的问题 . 这是我觉得非常烦人的事情,我希望可以打开和关闭它 . 它对嵌入式视图很有意义,但对于其他许多视图则不然 .

    我要解决的问题是在下一栏中包含类别值 . 通过这种方式,即使是平面视图,仍然可以看到文本 .

    或者,您也可以考虑使用转发器控件并创建自己的方式来呈现信息 . 这将用于代替(动态)ViewPanel控件 . 然后,只要在viewrow集中返回信息,您就可以以任何方式显示信息 .

    快乐编程!

相关问题