当存在多个自定义控件实例时,从自定义控件获取字段值

时间:2012-04-03 21:09:43

标签: xpages

我有一个包含相同自定义控件的多个实例的xPage。如何从我的xPage上的按钮获取特定自定义控件上的字段值。

通常我会这样做:

ctlName =“radioGroupCMBUAction”; var changeType = getComponent(ctlName).getValue();

如果只有一个控件实例。我如何使用控件的多个实例执行此操作?

2 个答案:

答案 0 :(得分:0)

如果没有代码,我不确定.getValue()是否能够正常工作,因为它需要拉出一个字段,其中自定义控件可以在其中重复等。

假设每个customControl实例都有一个彼此唯一的id,它就可以工作,它应该可以正常工作,因为每个实例都应该有自己的vriables。

然而,其他想法可能是传入一个字符串并使用此字符串作为自定义控件中的范围变量的名称,可以从任何地方拉出。我之前已经完成了这个,我在自定义控件上为String创建了一个属性,在自定义控件中使用了

viewScope[compositeData.customProperty] = value.

然后在自定义控件的上下文之外我知道我传入的字符串,所以我可以将此值拉回来。传递它意味着多个实例不会相互重写。

或者您可以将自定义控件中的字段写入文档,以便将其删除或作为保存文档的最终解决方案。

答案 1 :(得分:0)

不确定这是否可以帮助你..?前段时间,我写了一篇关于“私人”范围变量的提示:

http://dontpanic82.blogspot.com/2010/03/xpages-tip-regarding-private-scoped.html