0

我有一个按钮,它将处理交互式网格中的选定行。它工作正常。我想在使用此函数时添加一个审计值来填充一列。LOCKED 列设置为 1 我希望 LOCKED_BY 列设置为 :APP_USER。

如何从一段 Javascript 中访问值?:APP_USER 据我所知,$v() 方法也不起作用。

我哪里错了?

var r = g.getSelectedRecords();
var v 

for(i = 0; i < r.length; i++) {
    v = g.model.getValue(r[i], 'WARN');
    if (v == '1') {
        g.model.setValue(r[i], 'LOCKED', '0');
    }
    else {
        g.model.setValue(r[i], 'LOCKED', '1');
        g.model.setValue(r[i], 'LOCKED_BY', $v('APP_USER')); //WANT TO SET THIS VALUE HERE
    }
}
4

1 回答 1

0

Javascript 在浏览器中运行,因此只能看到页面上实际呈现的项目(即页面项目,而不是应用程序项目)。为此,您可以创建一个隐藏的页面项目(如果需要在所有页面上,可能在第 0 页上)。但是,如果您的 Javascript 是在 APEX 中定义的(而不是在单独的 .js 文件中),那么您应该可以这样做:

g.model.setValue(r[i], 'LOCKED_BY', '&APP_USER.'); 

&APP_USER.呈现页面时将替换为 APP_USER 的值。

于 2020-02-29T10:58:48.747 回答