2012-03-09 51 views
2

我正在运行一个8.5.3 UP1服务器,我需要为xpage上的一大堆“动作按钮”设置许多对话框(用于确认)。这些对话框的代码几乎完全相同,除了确认消息不同之外,以及在选择“是”按钮时调用的客户端JS功能。是否有可能在重复控制中有扩展库对话框?

因为我真的很讨厌一遍又一遍地重复代码,我想知道是否可以在重复控件中放置一个xe:dialog控件并指定消息和函数从一个数组中调用?我知道我无法计算对话框控件的ID,如果没有,我不知道如何引用对话框来打开和关闭它。

任何想法?谢谢

回答

3

是的,这是可能的。

确保您指定keepComponents的对话框属性设置为False。您不必为打开或关闭对话框做任何特殊操作,只需使用您在对话框中提供的任何ID即可在客户端操作中打开重复中的对话框,如XSP.openDialog('#{id:myDialog}')

XPage渲染器会自动为您计算正确的ID名称。

+0

好的,我明白了。但是,我如何从重复控制之外引用对话?换句话说,我需要从我的操作按钮中调用XSP.openDialog(“#{id:myDialog}”)?由于会有多个对话框,我不知道使用什么名字。 – 2012-03-09 19:18:04

+0

啊,我会把按钮放在重复元素的内部,所以重复的每一行都有一个按钮。外面的按钮很难做到,但并非不可能。你怎么知道当用户点击按钮时重复执行哪一行 – 2012-03-09 20:51:10

+0

我的动作按钮并不是那么多的按钮,而是一个无序列表中的链接,该列表呈现为3级深度的下拉菜单。所以我想不出一个简单的方法来重复控制。你说如果它不在重复控制之外,这是不可能的,你能否详细说明这个想法?我的想法是,我会根据预先确定的索引值(即“更改为草稿”按钮是按钮#12等)在重复控制中引用该行。谢谢 – 2012-03-09 21:19:02

相关问题