0

簡単な質問があります:

ビューを含むViewPanelがあり、3つのボタン(アクションボタン)という名前があります

  • エントリを削除
  • 未読にする
  • マーク読み取り

3つのアクションごとに、SSJSルーチンの後にビューの部分更新を実行します

  • REMOVE ENTRY: シンプルな SSJS doc.remove(true);を呼び出します。、しかし、私のViewPanelは、このアクションの更新後にエントリを表示します(ただし、別の部分的な更新を実行すると、エントリはViewPanelに正しく表示されません)
  • MARK READ: シンプルな SSJS を呼び出します document1.getDocument().markRead(); ボタンイベントハンドラーの部分的な更新後に正しく動作します!
  • 未読のマーク: シンプルな SSJS document1.getDocument().markUnread();を呼び出します。しかし、アクション REMOVE ENTRY にも同じ問題があります (イベント ハンドラーが自動的に BUTTON を部分的に更新した後、ViewPanel に変更が表示されません...後で別の部分的な更新を実行する必要があります...そして、未読のエントリが表示されます)

誰か提案がありますか?

4

1 に答える 1

1

私は同様の問題を経験しました。私が見つけた解決策が良いものだとは言いませんが、少なくとも私にとってはうまくいっています。

ビューパネルで実行しているすべてのアクションが終了したら、イベント ハンドラー内に次のコードを入力してみてください。

<xp:this.onComplete><![CDATA[XSP.partialRefreshGet("#{id:viewPanel1}", {
    onComplete: function() {
        //
    }
});]]></xp:this.onComplete>

アクションが完了すると、ビュー パネルが更新されます。

于 2012-08-31T09:38:40.340 に答える