Slickgrid 行删除线

Slickgrid row strikethrough

在 Slickgrid 中如何为一行应用删除线?

我尝试使用 'text-decoration' 样式,但样式不适用。我已尝试使用以下代码将样式应用于行

data.getItemMetadata = function (row) {

    if (this[row].title == 'Task 5'){
        return {
            cssClasses: 'highlight'

        };
    }
    return null;
}

CSS

.highlight {
    text-decoration: line-through;
}

几件事:

1) 从您引用数据的方式来看,您将 JSON 对象直接用作数据。您可以这样做,但如果您想使用行元数据则不行。

2) 因此要访问 getItemMetadata,您需要按照 example-4-model 使用 dataView,并添加:

dataView.getItemMetadata = function (row) {
  var v = this.getItem(row);
  if (v.title == 'Task 5'){
    return {
        cssClasses: 'highlight'

    };
  }
  return null;
}

3) 即便如此(我测试了上面的代码,它确实添加了 class)行上的 class 也不会向列数据添加删除线。 这将:

.highlight > .slick-cell {
  text-decoration: line-through;
}    

您可以使用其他 css 技巧来获得您想要的结果,或者作为最后的手段,您可以添加列元数据属性而不是行。

最后,查看 my slickgrid repo,它是 MLeibman 分支上的当前最新分支,没有对其进行自定义(只是错误修复和小的增强)。修复了许多错误,并通过 jQuery 1.8+、2.x 和 3.x.

进行了全面测试