如何按列值动态选择交互式网格行

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

我目前希望能够通过将列值的 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
命令检查的值。

javascript oracle-apex
1个回答
0
投票

我认为你已经很接近了 - 我认为你需要 2 个小改动:

  1. 索引从零开始:

    console.log(targetValues[0]); console.log(targetValues[1]); console.log(targetValues[2]);

  2. 先通过记录:

    var columnValue = view.model.getValue(record, 列名);

© www.soinside.com 2019 - 2024. All rights reserved.