我有一个交互式网格,上面定义了自定义操作。我想做的是遍历网格,获取所有选定的记录,然后遍历记录并为每个记录更新单个数据库字段,将其设置为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
}
}
}
从此处执行更新的最佳方法是什么?
答案 0 :(得分:1)
有点类似的情况。我想检查一下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');
}
希望这会有所帮助,我发现很多解决方案都不适用于我,这个解决方案有效(Im on 18.2)