Oracle apex 更改所选记录的按钮
我有一个带有一堆记录的交互式网格,我想在页面上设置一个按钮,更改当前选定的所有记录中的一列 运行APEX 18.2时,IG有一大堆列,我只想更改其中一列,但有一大堆行,所以我确实需要一个按钮。 IG将ROWID作为PK,因为实际的PK是由4个不同的列组合而成的 我花了一些时间在谷歌上搜索这个问题,并找到了一些解决方案: 这是第一个也是最简单的解决方案。但它不返回任何rowid或类似的内容,而是返回第一列中的值 然后我也发现 及 它们非常相似,似乎对我来说是最好的,但我在控制台中遇到了一个Javascript错误: 我真的不太懂Javascript,所以我不知道哪里出了问题,也不知道如何最好地修复它 我在按钮点击上设置了一个执行Javascript的动态动作,我选择的元素是名为CUR_STAT的区域。 var记录; //确定特定的交互式网格 var ig$=apex.regionCUR\u STAT.widgetOracle apex 更改所选记录的按钮,oracle-apex,Oracle Apex,我有一个带有一堆记录的交互式网格,我想在页面上设置一个按钮,更改当前选定的所有记录中的一列 运行APEX 18.2时,IG有一大堆列,我只想更改其中一列,但有一大堆行,所以我确实需要一个按钮。 IG将ROWID作为PK,因为实际的PK是由4个不同的列组合而成的 我花了一些时间在谷歌上搜索这个问题,并找到了一些解决方案: 这是第一个也是最简单的解决方案。但它不返回任何rowid或类似的内容,而是返回第一列中的值 然后我也发现 及 它们非常相似,似乎对我来说是最好的,但我在控制台中遇到了一个Java
//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');
}
由于某种原因,我找到的所有解决方案都不起作用。但我从这些解决方案中学到了很多,并编写了这段简单的代码来满足我的需要
另外,我想设置一个隐藏的列,这样我就可以在一个隐藏的列上设置这个值,我通过使该列可见和可编辑来实现这一点,但是当运行页面时,我单击该列并隐藏它,并将当前视图设置为默认报告
如果有人偶然发现这个问题,我希望它能有所帮助