如何在互動式網格中創建鏈接列以執行動態操作?
我創建了一個演示應用程式,用于從 emp 表中洗掉員工,其中我有一個 DA,有 4 個步驟:
1.確認
2.JavaScript代碼
var empNo = $(this.triggeringElement).attr('href');
apex.item('P1_EMPNO').setValue(empNo);
PL/SQL 代碼
從 emp 開始洗掉,其中 empno = :P1_EMPNO; 結尾;
重繪 區域
它根本不起作用,當我單擊鏈接列時它什么也不做
我創建了一個演示應用程式,我將不勝感激任何建議:

編輯:當我深入檢查您的演示應用程式時,我看到您正在使用EMPNO型別為鏈接的列并將鏈接設定為#EMPNO#. 這意味著此鏈接正在嘗試訪問
無效的 URL:apex.oracle.com/pls/apex//#EMPNO#。將鏈接 URL 更改為您將創建的有效模式確認對話框頁面,或洗掉鏈接以便觸發動態操作。
uj5u.com熱心網友回復:
這是一種方法。這是在我的環境中,而不是在您的環境中。它是 emp 表(第 55 頁)上的可編輯 IG 報告。功能是當單擊鏈接時,薪水會增加 1。
該技術的簡短說明:
- 將鏈接的資料屬性設定為“EMPNO”,以便javascript可以讀取
- 使用類捕獲點擊事件
- 單擊鏈接時觸發事件
- 監聽那個事件并執行 pl/sql 代碼。
1.
在報表中添加鏈接欄。我使用報表的“創建列”選項添加源型別為“SQL 運算式”的列和 sql 運算式:
'<span aria-hidden="true" data-empno="'||EMPNO||'"></span>'
2.
增加動態動作“點擊漲薪”,事件范圍“動態”

添加一個 Set Value 型別的真實動作:

添加一個型別為 Execute Javascript Code 的真實動作:
行動:執行 Javascript 代碼
代碼: $.event.trigger("raisesalary");
3. 增加動態動作“After raisesalary event”,事件范圍“dynamic”

添加“執行服務器端代碼”型別的真實操作:
PL/SQL 代碼: UPDATE emp SET sal = sal 1 WHERE empno = :P55_EMPNO
提交專案:P55_EMPNO
添加“重繪 ”型別的真實動作以重繪 互動式網格區域。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/415965.html
標籤:
上一篇:如何在preparedstatement中設定連接字串引數
下一篇:OraclePLSQL轉義單引號
