首页 > 解决方案 > Oracle Apex 19.1 - 按钮单击时的动态操作设置屏幕上的值将空值写入数据库

问题描述

顶点 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。

标签: javascriptoracle-apexoracle-apex-5.1oracle-apex-18.2oracle-apex-19.1

解决方案


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

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

推荐阅读