Slickgrid行删除线

时间:2017-03-25 18:49:42

标签: jquery slickgrid

在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 个答案:

答案 0 :(得分:1)

有几件事:

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)即便如此(我测试了上面的代码,它确实添加了类)行上的类也不会向列数据添加删除线。 这将:

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

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

最后,查看my slickgrid repo,它是当前最新的分支机构,在没有自定义的情况下进行MLeibman分支(只是错误修复和次要增强)。修复了许多错误,并使用jQuery 1.8 +,2.x和3.x进行了全面测试。