Jqgrid中的计算列

Calculated Column in Jqgrid

我有以下网格 -

https://jsfiddle.net/ht94wbtr/1/

请看下图

在这个网格中,我想要一个计算列 'Total Red Cells',如下面的示例图片

在 Oleg 先生的帮助下,我得到了以下可用于页脚的代码

        var errorInfo = {id: "Errors:", color_name: 0, character_name: 0};
    var i, item;
    for (i = 0; i < mydata.length; i++) {
        item = mydata[i];

        if ($.inArray(item.color_name, hilightcolorcell) < 0) {
            errorInfo.color_name++;
        }
        if ($.inArray(item.character_name, hilightcahractercell) < 0) {
            errorInfo.character_name++;
        }
    }

        footerrow: true,
        userDataOnFooter: true,
        userData: errorInfo //{ id: "Errors:", color_name: 2, character_name: 2 }

我想知道如何遍历 color_name 和 character_name 列并在计算列 'Total Red Cells' 中显示总错误数,如示例图像所示。请帮忙

如果我正确理解了您的需求,那么解决方案将非常简单。首先,您需要定义 hold/display "Total red cells" 信息所在的列。让我们将该列命名为 redtotal。然后你应该扩展 errorInfo 以保持 redtotal 属性 与相应的值。相应的代码可能像 errorInfo

var errorInfo = {id: "Errors:", redtotal: 0, color_name: 0, character_name: 0};
var i, item;
for (i = 0; i < mydata.length; i++) {
    item = mydata[i];

    if ($.inArray(item.color_name, hilightcolorcell) < 0) {
        errorInfo.color_name++;
        errorInfo.redtotal++;
    }
    if ($.inArray(item.character_name, hilightcahractercell) < 0) {
        errorInfo.character_name++;
        errorInfo.redtotal++;
    }
}

您将在 https://jsfiddle.net/OlegKi/ht94wbtr/4/

上看到结果