Как мы можем вызвать код javascript из кода PLSQL в динамическом действии Oracle apex.На самом деле, мое требование состоит в том, чтобы выбрать роль (P2_ROLE) из выпадающего списка.И затем найти все имена пользователей, прикрепленных к этой роли, используя SQL-запрос.После того, как имена пользователей получены, все строки в интерактивной сетке должны быть окрашены для этого списка пользователей.IG содержит имя столбца USER_NAME.
Если роль присутствует в IG, то я могу заставить ее работать, написав приведенный ниже код в динамическом действии ---> Javascript code
$(document).ready(function() {
$("td:nth-child(28)").each(function() {
if ($(this).text() === apex.item( P2_ROLE ).getValue()) {
$(this).parent().children().css({'background-color': '#FF9999'});
}
});
});
Но проблема в том, что выбранная роль не отображается в интерактивной сетке.
Поэтому в качестве обходного пути я хочу выбрать все имена пользователей, относящиеся к этой роли, с помощью PLSQL и сопоставить их с именем USER_NAMEстолбец в интерактивной сетке с использованием JAVASCRIPT.
Но я не уверен, как я могу вызвать код JAVSCRIPT в коде PLSQL.В основном я хочу сделать что-то вроде этого:
DECLARE
Cursor c_user_name is
select distinct user_name from wf_user_roles where role_name = :P2_ROLE;
l_USER_NAME varchar2(1000);
BEGIN
OPEN C_USER_NAME ;
LOOP
FETCH C_USER_NAME into l_USER_NAME;
EXIT WHEN C_USER_NAME%NOTFOUND;
-- Call this JAVASCRIPT code now
/*
$(document).ready(function() {
$("td:nth-child(28)").each(function() {
if ($(this).text() === l_USER_NAME) {
$(this).parent().children().css({'background-color': '#FF9999'});
}
});
});
*/
END LOOP;
END;
Может кто-нибудь, пожалуйста, помогите мне в этом.