Oracle APEX Interactive Grid 自定义操作数据库更新

Oracle APEX Interactive Grid custom action database update

我有一个交互式网格,上面定义了自定义操作。我想做的是遍历网格,获取所有选定的记录,然后遍历记录并为每条记录更新单个数据库字段,将其设置为 0。

我正在使用以下代码循环遍历记录,获取记录 ID:

view=apex.region("myGrid").widget().interactiveGrid("getViews","grid");

if (view.supports.edit)
{
    model=view.model;
    records=view.getSelectedRecords();
    if(records.length>0)
    {
        for(i=0;i< records.length; i++)
       {

            $record_id= model.getValue(records[i], "RECORD_ID");
            //update the database here UPDATE TABLE1 SET Flag=0 WHERE RECORD_ID=$record_id
        }
    }
}

从此处执行更新的最佳方式是什么?

之前有过类似的情况。我想通过一个 IG 并为每个选定的记录更改一列。我设置了一个在按钮上触发的动态动作,并让它 运行 以下 Javascript,并且在 javascript 之后为提交页面设置另一个 tru 动作,否则你仍然需要保存手动。这是我的解决方案:

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

希望这有帮助,我找到的很多解决方案对我都不起作用,这个有效(我在 18.2)