1

ボタンが埋め込まれたリピートがあります。繰り返しはパネルにあります。ユーザーがボタンをクリックすると、ボタンが非表示/表示されます (パネルを部分的に更新します)。繰り返しは Domino ビューに関連付けられており、そのビューから取得した他の値が繰り返しで更新されることがわかります。そのため、ビュー インデックスの問題ではないようです (コードでビュー インデックスを更新します)。

ボタンの onclick コードで context.reloadPage() を使用すると、ボタンは本来のように非表示/表示になりますが、スレッジハンマーを使用しているようです! 繰り返しを保持するパネルがレンダリングされるときに、ボタンに表示可能なプロパティを再計算させる方法に関する提案はありますか? もう 1 つの奇妙な点は、繰り返しを保持するパネルを更新するたびに、visible プロパティが 3 回計算されることです。

ありがとう、ハワード

4

4 に答える 4

1

私はあなたが探していると思います

getComponent("<id>").setRendered(true / false);
于 2012-04-27T07:58:18.287 に答える
1

こんにちは For Repeat コントロールのエントリは、頭を悩ませるために使用されます。SSJS によってエントリを処理するため、値を取得して値を設定できます。ただし、レンダリング部分、繰り返しコンポーネントの id はすべて同じです。したがって、 reder を false にしようとすると。繰り返しコンポーネントをすべて非表示にします。

以下を使用してみてください.[これをボタンonclickに入れ、以下の値を参照してください]

var entryValue= getComponent("repeat1").getChildren().get(0).getValue()

getComponent("inputText1").setValue(entryValue)

しかし、クライアント側では簡単に処理できます。DOM オブジェクトの ID はすべての繰り返しコンポーネントに対して一意であるためです。

var id1="view:_id1:repeat2:"+'2'+":button1"
document.getElementById(id1).style.display="none"

これにより、繰り返しコントロール コンポーネントの 3 番目のエントリが非表示になります。

投稿をご覧ください。より良いアイデアが得られるかもしれません

于 2012-05-07T09:28:12.673 に答える
0

解決策を見つけました。私の最初の解決策は、(viewentrycollection であるコレクション オブジェクトと getColumnValues を使用して) 繰り返し行から値を取得し、ボタンのレンダリングされたプロパティを計算することでした。

代わりに、ボタンの状態 (表示するボタンのセット) を保持する viewScope 変数 (ベクトル) を作成しました。これは、ページの beforePageLoad イベントで取り込まれます。

ボタンの onclick コードは、処理の実行後にこの viewScope 変数を更新します。現在、すべてが非常にうまく機能しています。ボタンが適切に更新されなかったのは、JSFライフサイクルの何かだったと思います。viewScope 変数を使用すると問題なく動作します。

于 2012-04-27T20:53:14.417 に答える