Oracle Apex 19.1-按钮单击时的动态操作将屏幕上的值设置为空,而数据库写入空值

时间:2019-09-03 10:25:07

标签: javascript oracle-apex oracle-apex-5.1 oracle-apex-18.2 oracle-apex-19.1

Apex 19.1

在交互式网格上的按钮上执行动态操作,将其单击时会将所选行的状态列设置为1。 这显示为已更改的行(角上的小蓝色三角形)。在保存时,没有错误,但是将NULL写入数据库(原始值为0)。 网格基于以ROWID为键的联合视图。

此解决方案来自: Button to change selected records

像OP一样,我无法使用其他解决方案,并且对javascript不够熟悉,无法解决问题。

这是更改列中值的代码。 :

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

我希望将新值1写入而不是NULL。一个新的/ NULL值被发送到数据库,因为原始值为0。

TIA。

1 个答案:

答案 0 :(得分:0)

如果将字符串值传递给setValue,则您的代码有效。这是因为在APEX中,所有项目(包括网格单元格值)在内部都是字符串。

g.model.setValue(r[i], 'myColumn', '1');