1

我正在使用 SlickGrid v2.1,我想在创建时间期间根据数据源值向我的网格行添加一个 css 类。例如,给定以下代码:

var data = [];

var columns = [
    {id: "title", name: "Title", field: "title", width: 120},
    {id: "duration", name: "Duration", field: "duration"}
]

... [data initialization] ...

grid = new Slick.Grid("#myGrid", data, columns, options); 

如果它的持续时间单元格值等于 99,我想在一行中添加一个 CSS 类“test”。如何做到这一点?我试图通过将自定义格式化程序添加到持续时间列来做到这一点,但我无法访问网格的画布方法。

我已经在网上搜索了有关此问题的信息,但没有找到任何帮助。任何帮助将非常感激!

最好的祝福

4

2 回答 2

4

我最终得到了正确的方法来做到这一点。必须按照此处的说明实现 getItemMetadata:https ://github.com/mleibman/SlickGrid/wiki/Providing-data-to-the-grid 。

编码:

       function getItemMetadata(row){
            if(data[row].duration === 99){
                return { 'cssClasses': 'test' }
            }
        }

最好的祝福

于 2012-11-10T11:21:16.457 回答
0

在您的格式函数中,您可以通过直接引用 DOM 组件来获取行。

function YourFormatter(row, cell, value, columnDef, dataContext) {

    //JavaScript
    document.getElementsByClassName('ui-widget-content slick-row')[row].className += ' test';

    //jQuery
    //$('.ui-widget-content.slick-row').eq(row).addClass('test');

}
于 2012-11-09T01:36:08.590 回答