あなたはApex 3を使用しているため、ダイナミックアクションはありませんが、あまり妨げになることはありません。 apex.oracle.comに例を設定しました。ワークスペースに入るには、ワークスペース 'tompetrusbe' + apex_demo/demoを使用します。 そこには動的なアクションがありますが、これもできますが、無効にしました。あなたはそれを動作させるために必要なもの
: AJAXコールバック・プロセスは、次の行で:
apex_util.set_session_state('P2_PAR_ENAME', apex_application.g_x01);
、レポートの地域に静的IDを付けて、私は「report_emp」鉱山と呼ばれます。これは簡単に検索できます
ページのjavascript領域では、アプリケーションプロセスを呼び出して、領域を更新する必要があります。また、このアクションを引き起こす必要のあるイベントをバインドします。私はここでパラメータのテキストフィールドのonchangeイベントを通してそれを行った。
function refresh_report(oTrgEl){
//alert('refresh: ' + $v(oTrgEl));
//calling the application process which sets the session state of P2_PAR_ENAME
var oGet = new htmldb_Get(null, &APP_ID., 'APPLICATION_PROCESS=set_session_state', &APP_PAGE_ID.);
oGet.addParam("x01", $v(oTrgEl));
oGet.get(); //the app process just sets something, it returns nothing
//refresh the report region
$("#report_emp").trigger("apexrefresh");
};
function bind_events(){
//call this onload
$("#P2_PAR_ENAME").change(function(){refresh_report(this);});
};
私はwhere ename like '%'||UPPER(:P2_PAR_ENAME)||'%'
を使用しています。 'bl'を入力して(onchangeをトリガするために)タブアウトすると、その領域がリフレッシュされ、フィルタリングされます。
あなたはソリューションに適応する必要があります。
出典
2011-11-12 11:50:13
Tom
クラシックまたはインタラクティブレポート?あなたのプロセスの後、レポートを更新しますか? – Tom