Oracle apex 更改所选记录的按钮

Oracle apex 更改所选记录的按钮,oracle-apex,Oracle Apex,我有一个带有一堆记录的交互式网格,我想在页面上设置一个按钮,更改当前选定的所有记录中的一列 运行APEX 18.2时,IG有一大堆列,我只想更改其中一列,但有一大堆行,所以我确实需要一个按钮。 IG将ROWID作为PK,因为实际的PK是由4个不同的列组合而成的 我花了一些时间在谷歌上搜索这个问题,并找到了一些解决方案: 这是第一个也是最简单的解决方案。但它不返回任何rowid或类似的内容,而是返回第一列中的值 然后我也发现 及 它们非常相似,似乎对我来说是最好的,但我在控制台中遇到了一个Java

我有一个带有一堆记录的交互式网格,我想在页面上设置一个按钮,更改当前选定的所有记录中的一列

运行APEX 18.2时,IG有一大堆列,我只想更改其中一列,但有一大堆行,所以我确实需要一个按钮。 IG将ROWID作为PK,因为实际的PK是由4个不同的列组合而成的

我花了一些时间在谷歌上搜索这个问题,并找到了一些解决方案:

这是第一个也是最简单的解决方案。但它不返回任何rowid或类似的内容,而是返回第一列中的值

然后我也发现

它们非常相似,似乎对我来说是最好的,但我在控制台中遇到了一个Javascript错误:

我真的不太懂Javascript,所以我不知道哪里出了问题,也不知道如何最好地修复它

我在按钮点击上设置了一个执行Javascript的动态动作,我选择的元素是名为CUR_STAT的区域。 var记录; //确定特定的交互式网格 var ig$=apex.regionCUR\u STAT.widget

//Fetch the model for the interactive grid  
var grid    = ig$.interactiveGrid("getViews","grid");  

//Fetch the model for the interactive grid  
var model   = ig$.interactiveGrid("getViews","grid").model;  

//Fetch selected records  
var selectedRecords = apex.region("CUR_STAT").widget().interactiveGrid("getViews","grid").view$.grid("getSelectedRecords");  

//Loop through selected records and update value of the AVT_OBR column  
for (idx=0; idx < selectedRecords.length; idx++)   
{  
//Get the record  
record = model.getRecord(selectedRecords[idx][0]);  

// set Value for column AVT_OBR on "D"     
model.setValue(record,"AVT_OBR", 'D');  

       }  
名为AVT_OBR的列是一个选择列表,其中包含显示值sda,NE和返回值sd,N。但我尝试将其设置为文本字段,但没有帮助

我希望能够选择多个列并更改这些条目中的数据


如果可能的话,我也希望能够以这种方式在隐藏列中更改数据。或者,如果我可以获取所选记录的所有rowid并使用它们执行PLSQL块。

最终没有人响应,所以我花了很多时间,终于想出了一个解决方案

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', 'Value');
}
由于某种原因,我找到的所有解决方案都不起作用。但我从这些解决方案中学到了很多,并编写了这段简单的代码来满足我的需要

另外,我想设置一个隐藏的列,这样我就可以在一个隐藏的列上设置这个值,我通过使该列可见和可编辑来实现这一点,但是当运行页面时,我单击该列并隐藏它,并将当前视图设置为默认报告

如果有人偶然发现这个问题,我希望它能有所帮助