用于将所选记录的列值更新为 sysdate 的按钮

Button to update the column value to sysdate for selected records

我有一个包含大量记录的交互式网格,我想在页面上设置一个按钮来更改当前选定的所有记录中的一列。

运行 APEX 5.1,IG 有一大堆列,我只想更改其中一列,但在一大堆行上,所以我确实需要一个按钮。 table 上的主键由 5 个字段组成。

我真的不太了解Javascript,所以我不知道出了什么问题或如何最好地解决它。

我在单击按钮时设置了一个执行 Javascript 的动态操作,我选择的元素是名为 config 的区域。

var g = apex.region('config').widget().interactiveGrid('getViews','grid');  
var r = g.getSelectedRecords();  
for(i = 0; i < r.length; i++) {   
g.model.setValue(r[i], 'EFCTV_END_DT', 'sysdate');
}

其中 EFCTV_END_DT 是列名,sysdate 是该列需要更新到的值。

根据 运行 此代码,我收到此错误:

Ajax 调用返回服务器错误 ORA-20987:APEX - ERR-1002 无法在应用程序“220”中找到项目 "C100812889833598308" 的项目 ID。 - 意外错误,无法在应用程序或页面级别找到项目名称。对于 .

有人可以帮我实现这个吗?

找到这个问题的解决方案:

APEX 没有识别 sysdate 的含义。

将 Javascript 代码更改为:

var g = apex.region('config').widget().interactiveGrid('getViews','grid');  
var r = g.getSelectedRecords();  
var monthNames =["JAN","FEB","MAR","APR",
                      "MAY","JUN","JUL","AUG",
                      "SEP", "OCT","NOV","DEC"];
var today = new Date();
var dd = today.getDate();
var mm = monthNames[today.getMonth()];
var yyyy = today.getFullYear();
today = dd+'-'+mm+'-'+yyyy;
for(i = 0; i < r.length; i++) { 
    g.model.setValue(r[i],'EFCTV_END_DT',today);
}

现在,它正在按预期工作。