jqgrid:如何格式化主/细节网格?

时间:2012-01-21 18:40:03

标签: jqgrid formatting rows master-detail subgrid

我有一个带子网格的jqgrid。

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

主人兼详细信息网格,包含以下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&amp; subgrids就不可能使用_rows [x]&amp; childNodes [y]属性?

如果需要,请询问澄清。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我认为您的代码中的错误是您使用$(".jqgrow")而不是$(".jqgrow", this),其中this内的gridComplete将是<table>的DOM元素网格或subgid(我想你使用grid as subgrid)。

此外,我不建议您完全使用当前代码。使用cellattr更加有效和简单。 rawObject参数允许您访问当前行的所有其他单元格。在the answer中,您将找到一个实施示例。