Oracle Apex 23 - 交互式网格 - 获取所有数据并使用其字段名称访问它们

问题描述 投票:0回答:1

如何获取所有数据(行)并使用字段名称而不是 Javascript 中的索引来访问它们。 例如(无效代码)

let grid = apex.region('myGridStaticID');
let data = grid.allRows;
for(let i = 0; i < data.length; i++)
{
//console.log(data[i][0]);
console.log(data[i].COLUMN1);
console.log(data[i].COLUMN3);
}

此外,我发现很难遵循文档https://docs.oracle.com/en/database/oracle/apex/23.1/aexjs/interactiveGrid.html

例如,有一个方法

getViews
,我尝试这样调用它,但不起作用。

apex.region("[region static ID]").getViews();

它是这样工作的

apex.region("[region static ID]").widget().interactiveGrid("getViews", "grid");

您能否解释/指出上面的行是否也被记录下来。

oracle-apex oracle-apex-23
1个回答
0
投票
let igId = "region_static_id"; 
let grid = apex.region(igId).widget().interactiveGrid("getViews","grid");
let model = grid.model;
let key_COLUMN1 = model.getFieldKey("COLUMN1");
let key_COLUMN3 = model.getFieldKey("COLUMN3");
let data = [];
let grow = null;

//## Look for a better solution
model.forEach(function(row) { 
    grow = row;
    data.push(grow);
});

for(let i = 0; i < data.length; i++)
{
console.log(data[i][key_COLUMN1]);
console.log(data[i][key_COLUMN3]);
}
© www.soinside.com 2019 - 2024. All rights reserved.