【问题标题】:Dialog in a Dynamic Content Control动态内容控件中的对话框
【发布时间】:2014-04-07 04:11:41
【问题描述】:

我有一个包含动态内容控件的自定义控件。动态内容显示几个自定义控件之一。然后将此控件添加到中间构面 (callback1)。然后导航器控制动态控件中显示的面板。至此,一切正常。 动态内容中显示的页面之一有一个调用对话框的按钮。单击按钮时,它看起来像是在尝试显示对话框,但实际上并没有(未报告错误)。 如果我将动态内容控件放在一个简单的 XPage 中并加载此 XPage 并使用包含显示对话框的按钮的控件的面板默认打开它可以正常工作。 因此,扩展库应用程序布局似乎阻止了对话框的显示。我很茫然,我的整个应用程序都在工作,但在 ext Library 应用程序布局中却没有。浪费大量时间,并且不使用 ext 库应用程序布局也不是一个好选择。

【问题讨论】:

  • 将其更改为 Switch 控件,结果相同。
  • Bill 你检查过 Extlib 示例数据库吗?应用程序布局中有对话框。您可能需要将对话框放置在动态内容控件之外 - 或者重新考虑是否真的可以不使用对话框但显示动态内容
  • stwissel 真的很奇怪。我创建了一个简单的 jane App 布局,然后将我的动态内容添加到它并且它可以正常工作,因此我之前创建的 App 布局中有一些东西阻止了它。所以我正在将我的代码重新添加到基本的应用程序布局中,并试图找出它被阻止的位置和原因。其实我不认为它被阻止它只是不显示。因此,当我找出导致问题的原因时,我会将其发布在这里。

标签: modal-dialog xpages xpages-extlib


【解决方案1】:

发现问题。在应用程序布局自定义控件上,我在 onClientLoad 中有一些代码,带有 try{}catch。{}如果此代码失败,它会“阻止”对话框正确显示,但窗口的其他功能似乎可以正常工作。所以我不确定应用程序布局的内部工作到底出了什么问题,但我将代码移到了 BeforePageLoad 事件,现在一切正常。 这是我从 onClientLoad 移到 beforePageLoad 的代码:

if (!sessionScope.containsKey("ssHelpRepID")){
    try{
        sessionScope.put("WFSRulesRepID",database.getProfileDocument("frmConfigProfile","").getItemValue("WFSRulesRepID")[0]);
        sessionScope.put("WFSRulesRepID_formula",database.getProfileDocument("frmConfigProfile","").getItemValue("WFSRulesRepID_formula")[0]);
        sessionScope.put("WFSHelpRepID",database.getProfileDocument("frmConfigProfile","").getItemValue("WFSHelpRepID")[0]);
        sessionScope.put("WFSHelpRepID_formula",database.getProfileDocument("frmConfigProfile","").getItemValue("WFSHelpRepID_formula")[0]);
    }catch(e){
        sessionScope.put("ssError","Error in setting Rep IDs");
    }
}

一旦我这样做了,原始的应用程序布局就开始允许显示对话框。很奇怪,希望我能把时间记给别人:-)

【讨论】:

  • 我建议定义一个会话范围的数据源,该数据源绑定到您在这些事件中引用的文档,并在您的其他代码中简单地引用该数据源。请记住,您可以在任何给定的 XPage 上拥有任意数量的数据源...
  • 感谢 Tim - 好主意,我有时会陷入我 18 年的 N/D LotusScript 做事方式中。我的主 XPage 上已经有 3 个数据源,并且可以做几件我希望我可以在 LS 中(轻松)做的事情,所以再链接到配置文件文档会非常简单,可能会容易得多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-16
  • 1970-01-01
相关资源
最近更新 更多