我目前希望能够通过将列值的 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, 列名);