我目前希望能够通过将列值的 csv 传递给 JS 代码动态操作来动态选择交互式网格的行。这是我到目前为止的代码
var columnName = 'CRITERIA_ID';
var targetValues = $v("P13_SELECTED_VALUES").split(";");
//P13_SELECTED_VALUES is set to 112:113:115 via a static assignment DA that occurs directly before this
console.log(targetValues[1]);
console.log(targetValues[2]);
console.log(targetValues[3]);
var ig$ = apex.region("myIG_StaticID").widget();
var view = ig$.interactiveGrid("getCurrentView");
view.model.forEach(function(record) {
var columnValue = view.model.getValue(columnName, record);
console.log("Column Value: " + columnValue);
if (targetValues.includes(columnValue)) {
view.grid.selection.add(record);
}
});
运行此命令时,我在控制台中没有收到任何错误,但没有发生任何选择。我添加的行console.log
确实会被触发,但在每种情况下,它们都输出“未定义”,而不是输出变量。这包括数组的值和稍后循环内targetValues
的输出。columnValue
任何帮助将不胜感激,即使它让我输出我试图用console.log
命令检查的值。
我认为你已经很接近了 - 我认为你需要进行 2 个小改动:
从零开始索引:
console.log(targetValues[0]); console.log(targetValues[1]); console.log(targetValues[2]);
先通过记录:
var columnValue = view.model.getValue(record, 列名);
编辑:再来一张: