1

我正在输出一个 jqGrid 并需要交替行颜色,但不是常见的每隔一行,我需要每隔两行交替一次。两排一种颜色,然后是两排另一种颜色,然后切换回第一种颜色,依此类推......

这是我需要实现的示例...

示例网格:

+-------------------+
| row color 'black' |
| row color 'black' |
| row color 'white' |
| row color 'white' |
| row color 'black' |
| row color 'black' |
| row color 'white' |
| row color 'white' |
+-------------------+

似乎它必须比 jqGrid 的 altRows 和 altclass 更多。

想法?

谢谢。

4

1 回答 1

4

这是一个有趣的问题!一般来说rowattr,回调是为行分配属性(例如类属性)的最佳方式,但rowattr当前 jqGrid 实现中的回调没有关于行索引的信息。所以一个必须设置altclass在里面loadComplete

要设置标准altclass,可以使用以下

loadComplete: function () {
    $(this).find(">tbody>tr.jqgrow:visible:odd").addClass("myAltRowClass");
}

例如,您可以在交替 TreeGrid(参见答案)或 Grouping 的情况下使用代码。

如果您需要交替每两行,那么您可以使用自定义过滤器而不是:odd. 例如演示使用

loadComplete: function () {
    $(this).find(">tbody>tr.jqgrow:visible")
        .filter(function (i) {
            return i % 4 >= 2;
        })
        .addClass("myAltRowClass");
}

它显示以下网格

在此处输入图像描述

于 2013-09-19T09:47:04.973 回答