jqGrid altRows - 每两行

时间:2013-09-19 01:52:10

标签: jqgrid zebra-striping

我正在输出一个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更多。

思想?

感谢。

1 个答案:

答案 0 :(得分:4)

这是一个有趣的问题!通常rowattr回调是将属性(例如类属性)分配给行的最佳方法,但是当前jqGrid实现中的rowattr回调没有关于行索引的信息。因此,必须在altclass内设置loadComplete

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

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

例如,您可以在交替使用TreeGrid(请参阅the answer)或分组时使用该代码。

如果您需要每两行备一次,则可以使用自定义filter代替:odd。例如the demo使用

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

并显示以下网格

enter image description here