SlickGrid DataView 使用行中的值设置 colspan

SlickGrid DataView set colspan using value from row

我正在尝试对 SlickGrid 中的某些项目实施更新 colspan:

这部分代码工作正常:

dataView.getItemMetadata = function (row) {

  if (0 == 0) {
    return {
      "columns": {
        "heading": {
          "colspan": "*"
        }
      }
    };
  } else {
    return {
      "columns": {
        "heading": {
          "colspan": 1
        }
      }
    };
  }
};

它按预期为所有项目提供了 colspan,但我想获取 "highlight" 列中的值并使用它来确定 "heading" 列是否应用了 colspan。每次单击突出显示列中的复选框时都需要更新。所以我需要获取该行上 "highlight" 列的值。

如果我运行这个:

  console.log(dataView.getItem(row));

我得到了多个这样的项目:

Object {id: "id_5", highlight: 1, heading: "voluptatem", quoted: 0…}

但是如果我运行这个:

  console.log(dataView.getItem(row).highlight);

我明白了:

Uncaught TypeError: Cannot read property 'highlight' of undefined

我的问题是,我这样做的方式是否正确?如果是,我如何获取 "highlight" 列和 "row" 行中单元格的值?

我需要将当前的 if 语句包装在另一个 if 语句中:

if (typeof data[row] != "undefined") {
  //original if
}

确保该行确实存在