0

我有一个带有子网格的 jqgrid。

我正在尝试将不同的颜色应用于主网格和细节网格。我有两个规则:第一个是交替奇数和成对颜色,另一个是根据特定字段的值将特定 CSS 应用于行。

master 和 details 网格都包含以下 gridComplete 函数,其中显然 childnodes 索引不同,因为表包含不同的字段:

gridComplete: function () {
            var _rows = $(".jqgrow");
            for (var i = 0; i < _rows.length; i++) {
                _rows[i].attributes["class"].value += " " + _rows[i].childNodes[4].textContent;
                _rows[i].attributes["class"].value += " " + _rows[i].childNodes[4].innerText;
            }
           applyZebra("jqTicketgrid");
        }

applyZebra 函数提供了交替奇数/对颜色,并且已经在另一个不包含子网格的网格上进行了测试。作为记录,我在本论坛的其他已解决问题中找到了上述解决方案,并且都适用于“简单”jqgrids(不是主/详细信息)。

问题 主网格仅在我单击以展开详细信息行时才被格式化,而详细信息子网格永远不会交替颜色,也不会根据单元格内容应用格式...

我哪里错了?Pheraps 我必须拦截另一个不是 gridComplete 的事件?否则使用 grid&subgrids 就不可能使用 _rows[x] & childNodes[y] 属性?

如果需要,请要求澄清,谢谢。

提前致谢!

4

1 回答 1

0

我想你的代码中的错误是你使用$(".jqgrow")而不是$(".jqgrow", this)where thisinside ofgridComplete将是<table>网格的 DOM 元素或 subgid (我想你使用grid 作为subgrid )。

此外,我根本不建议您使用当前代码。它更有效且易于使用cellattr。该rawObject参数允许您访问当前行的所有其他单元格。在答案中,您将找到一个实施示例。

于 2012-01-21T22:09:18.047 回答