2012-05-12 9 views
0

ユーザがページ上で値を変更してタブを閉じる/キャンセルするカスタムポップアップ警告メッセージを表示する必要がありますボタンを間違えて私が試したユーザが任意の値(テキストボックス/ LOV)をページに変更したときのカスタムポップアップ警告メッセージを表示

オプションは以下のとおりである:a)アプリケーションの中で、私たちは、7種類の異なるシナリオのための複雑なタスク・フロー/ RegionModelを

使用しています。また、要件はカスタムメッセージを表示することである - したがって、私が試した

http://www.oracle.com/technetwork/developer-tools/adf/unsaveddatawarning-100139.html

b)第二のオプションは、カスタム領域コントローラを持っていることでした「unsaveddatawarning」アプローチを使用することができませんでした: CustomRegionControllerは(RegionContextをRegionController

インサイドvalidateRegionを実装しますページデータが汚れている場合regionContext)は見つけることが考え

 AdfFacesContext.getCurrentInstance().getDirtyPageHandler().isDataDirty(); 

または

DCBindingContainer dcBindings = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry(); 
    DCDataControl cDataControl = dcBindings.getDataControl(); 
    boolean dirtyFlag = cDataControl.isTransactionModified(); 

両方のシナリオでは常に(ページロード時にデータがレンダリングされているときに、VO/View Linkアプリケーションモジュールの共通セットが常に汚れているように見えます)。

私が残した最後のオプションは、各要素(textbaox、LOV、チェックボックス)に対してvalueChangeListenerを呼び出すことです。私はこのオプションがまったく好きではありません。このシナリオを処理するためのより良い方法があるかどうかをご提案ください。

答えて

0

なぜ値変更リスナーを使用しているのですか?各入力コンポーネントがバッキングBean内の同じVCLメソッドを呼び出すようにします。必要に応じて、コンポーネントIDをvclイベントオブジェクトから取得できます。

関連する問題