Oracle APEX 版本:21.1.0
我在 APEX 页面上有许多交互式网格(一周中的每一天一个),我想将每个网格中的数据保存到 APEX 集合中。IG_MON交互式网格包含 3 列,它们的静态 ID 为:
COL_MON_PROJECT
COL_MON_HOURS
COL_MON_DESCRIPTION
我有一个动态操作(每天),它运行一些将 IG 数据保存到以下页面项目中的 JavaScript:
P704_MON_PROJECT
P704_MON_HOURS
P704_MON_DESCRIPTION
(然后在 Javascript 运行后,我调用 Ajax 回调进程将 add_member 添加到我的 APEX 集合中)。
由于列类型为“文本字段”,因此它成功地适用于 COL_MON_HOURS 和 COL_MON_DESCRIPTION 列。
对于COL_MON_PROJECT列,我已将其设置为 Popup LOV,其中显示“项目名称”以供显示,并以 ID 为返回值。
当我使用下面的代码保存 COL_MON_PROJECT Popup LOV 值时,在会话状态下我可以看到 P704_MON_PROJECT 显示为 [object Object]。
我尝试了几种不同的选择,但我对 JavaScript 的熟练程度还不够,无法完全正确!
var col_project;
var col_hours;
var col_description;
var model = apex.region("IG_MON").widget().interactiveGrid("getViews", "grid").model;
col_project = model.getFieldKey("COL_MON_PROJECT");
col_hours = model.getFieldKey("COL_MON_HOURS");
col_description = model.getFieldKey("COL_MON_DESCRIPTION");
model.forEach(function (igrow) {
apex.item("P704_MON_PROJECT").setValue(igrow[col_project]);
apex.item("P704_MON_HOURS").setValue(igrow[col_hours]);
apex.item("P704_MON_DESCRIPTION").setValue(igrow[col_description]);
apex.server.process('POPULATE_COLLECTION_MON', {
pageItems: '#P704_MON_DATE,#P704_MON_PROJECT,#P704_MON_HOURS,#P704_MON_DESCRIPTION'
}, {
dataType: 'text',
success: function (data) {
if (data != 'SUCCESS');
}
});
});