0

同じカスタム コントロールのインスタンスが複数ある xPage があります。xPage のボタンから特定のカスタム コントロールのフィールドの値を取得するにはどうすればよいですか。

通常、私は次のようなことをします:

ctlName = "radioGroupCMBUAction"; var changeType = getComponent(ctlName).getValue();

コントロールのインスタンスが 1 つしかない場合。コントロールの複数のインスタンスでこれを行うにはどうすればよいですか?

4

2 に答える 2

0

これがあなたを助けることができるかどうかわからない..?しばらく前に、「プライベート」スコープ変数に関するヒントを書きました。

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

于 2012-04-04T13:38:38.950 に答える
0

コードがないと、.getValue() が機能するかどうかはわかりません。これを実現するには、カスタム コントロールがその内部で繰り返すことができるフィールドを引き出す必要があります。

各 customControl インスタンスが互いに一意の ID を持っている場合に機能すると仮定すると、各インスタンスには独自の vriables が含まれているため、正常に機能するはずです。

ただし、文字列を渡し、この文字列をカスタム コントロール内のスコープ変数の名前として使用して、どこからでも引き出す​​ことができるという別のアイデアもあります。String のカスタム コントロールでプロパティを作成し、カスタム コントロール内で使用する前に、これを実行しました。

viewScope[compositeData.customProperty] = value.

次に、カスタム コントロールのコンテキストの外で、渡した文字列を認識しているので、この値を引き出すことができます。それを渡すことは、複数のインスタンスが互いに上書きしないことを意味します。

または、カスタム コントロールのフィールドをドキュメントに書き込んで、フィールドを取り出したり、保存の問題を最終的に解決したりすることもできます。

于 2012-04-04T07:42:46.703 に答える