【问题标题】:Slickgrid - How to add css at grid creation time?Slickgrid - 如何在创建网格时添加 CSS?
【发布时间】:2012-10-29 07:39:01
【问题描述】:

我使用的是 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”。如何做到这一点?我试图通过将自定义格式化程序添加到持续时间列来做到这一点,但我无法访问网格的画布方法。

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

最好的问候

【问题讨论】:

    标签: javascript css slickgrid


    【解决方案1】:

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

    代码:

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

    最好的问候

    【讨论】:

    • +1 - 不错!随意将其标记为问题的答案(只需单击复选标记)。
    【解决方案2】:

    在您的格式函数中,您可以通过直接引用 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');
    
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2016-09-26
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 2021-12-15
    相关资源
    最近更新 更多