用于将所选记录的列值更新为 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);
}
现在,它正在按预期工作。
我有一个包含大量记录的交互式网格,我想在页面上设置一个按钮来更改当前选定的所有记录中的一列。
运行 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);
}
现在,它正在按预期工作。