修改样式或为各个jqGrid行附加类

时间:2011-01-23 23:29:28

标签: jquery jqgrid

是否可以修改stlye或将类附加到jqGrid中的特定行?我有一个显示一堆发票的网格。如果发票状态(其中一列)列为VOID,我希望行中的文本为红色。我正在查看当前的afterInsertRow事件,这将允许我检查数据,但我不确定我是否可以进入实际的“行”。我确实认为这就是rowelem(最后一个参数)。

提前致谢 劳埃德

2 个答案:

答案 0 :(得分:2)

您可以在loadComplete事件处理程序而不是afterInsertRow内测试发票状态的值:

var grid = $("#list");
grid.jqGrid({
    // other jqGrid parameters
    loadComplete: function() {
        var ids = grid.jqGrid('getDataIDs');
        for (var i=0;i<ids.length;i++) {
            var id=ids[i];
            if (grid.jqGrid('getCell',id,'invoiceStatus') === 'VOID') {
                $('#' + id, grid[0]).css ({color: 'red'});
            }
        }
    }
});

小型演示,标记“客户”列中包含“测试”文字的所有行,您可以看到here直播。

答案 1 :(得分:0)

作为Oleg答案的补充,几乎回答了这个问题。我需要继续,只有红色的'Void'列文本显示。我想我会发布关于如何做到这一点的代码,万一有人遇到这篇文章:

if ($list.jqGrid('getCell',id,'InvoiceStatus') === 'Void') {
                $list.jqGrid('setCell',id,'InvoiceStatus','',{color: 'red'});
            }

它取代了Oleg示例中的代码行:

 $('#' + id, grid[0]).css ({color: 'red'});