处理xpages扩展对话框的最佳实践?

时间:2012-04-10 20:24:24

标签: xpages

我有一个扩展页面对话框,我放在一个自定义控件中。该对话框用于搜索成本中心并返回市场,成本中心编号,成本中心名称等信息。

按下“选择”按钮,出现对话框。用户搜索并选择他们的成本中心。按下确定按钮,它关闭对话框并更新xPage上的各个字段。

有几个问题。

  1. 目前,CC上的“选择”按钮需要知道并参考CC中对话框控件的名称。在我看来,这不是最好的做法。我的最终用户程序员需要知道CC中该对话框控件的ID。我的“选择”按钮是否可以“显示”CC并且CC实际上会显示对话框控件?

  2. 我的CC使用自定义属性来存储所选成本中心的各种文档字段。然后,“确定”按钮使用这些属性设置xPage上的各个字段。这似乎也不是最佳做法。如果我想在另一个应用程序中使用该CC,那么我可能需要在“确定”按钮中编辑代码。有没有更好的方法来处理这个?就像我将它放在我的xPage上时可以设置CC的属性一样,有没有办法告诉它我按下OK按钮时要执行的代码?

  3. 我认为有一件事是需要通过“确定”按钮更新字段的属性,但这似乎不那么灵活。

1 个答案:

答案 0 :(得分:0)

对于需要知道id的问题不确定是否有错字但是我不明白为什么cc内的选择按钮需要没有对话框的id来打开它?你的意思是选择是在cc之外吗?您是否尝试过在自定义控件上创建属性,以便从外部设置可能

的内容
<xc:mycustomControl showDialog="false">

然后当它外面发生的事情改变showDialog并刷新cc时,然后在cc中你可以有一个前/后页加载来确定当showDialog为true / false时会发生什么。

对于你的第二个问题,我觉得这应该是使用多米诺骨牌文档结构。而不是对话框拉出每个部分和确定按钮更新,我会做的是在页面上有一个多米诺骨牌doc数据源。当通过对话框选择某些内容时,我会更新此源指向的文档,并将所有字段绑定到它们需要的字段。这样,在选择某些内容之后,字段将只更新到文档所包含的内容,只要多米诺骨牌文档具有相同的字段名称,它就会更加可用。