【问题标题】:jqGrid, setting bg color on column cells when column header is clickedjqGrid,单击列标题时在列单元格上设置bg颜色
【发布时间】:2011-05-03 10:31:50
【问题描述】:

我正在使用 jgGrid 3.8。我有一个问题。单击列标题时,我想为单元格的背景着色。我的意思是,升序或降序数据 bg 颜色必须与其他列单元格的颜色不同。我怎样才能做到这一点?

非常感谢。

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

    您可以在loadComplete 事件句柄中使用setCell 方法。 loadComplete 事件将在加载排序数据后和数据分页后调用,因此这是根据当前排序顺序更改单元格背景颜色的好地方:

    loadComplete: function() {
        var ids = grid.jqGrid('getDataIDs');
        if (ids) {
            var sortName = grid.jqGrid('getGridParam','sortname');
            var sortOrder = grid.jqGrid('getGridParam','sortorder');
            for (var i=0;i<ids.length;i++) {
                grid.jqGrid('setCell', ids[i], sortName, '', '',
                            {style:(sortOrder==='asc'?'background:aqua;':
                                                      'background:yellow;')});
            }
        }
    }
    

    您可以在here 现场看到执行此操作的工作示例。

    更新:同时查看modified demo。结果看起来和之前的演示一样好:

    它在除opera之外的所有浏览器中显示渐变效果。在 Opera 中,它与之前的演示相同。在另一个我的answer 中,我更多地使用颜色渐变效果。

    【讨论】:

    • @Kerberos:我做了一些渐变效果的实验,还记得我之前为你做的例子。查看修改后的演示。这对你来说可能很有趣。
    猜你喜欢
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    相关资源
    最近更新 更多