微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – jQGrid – 更改分组标题的背景颜色

我正在使用jqgrid进行分组.每个组标题将具有三种可能性之一:待定,重复,不重复.

基于该文本,我想更改分组标题的背景颜色.我已经在使用jqgrid的rowattr属性来更改网格行的背景颜色,但我无法弄清楚如何更改分组标题颜色.

这是我对rowattr的实现,我认为它应该类似于分组标题背景颜色:

gridview: true,rowattr: function (rd) {
    alert(rd.duplicateStatusName);
    if (rd.duplicateStatusName === "Pending Review") {
        return { "class": "css_trStatusBackground_pending" };
    }
    else if (rd.duplicateStatusName === "Duplicate") {
        return { "class": "css_trStatusBackground_dup" };
    }
    else if (rd.duplicateStatusName === "Not a duplicate") {
        return { "class": "css_trStatusBackground_notdup" };
    }
},

这是我当前网格的屏幕截图:

我希望深灰色标题颜色是基于标题中的文本的不同颜色(类似于我的行颜色).

这可能吗?

解决方法

groupingRender的当前实现不允许使用某种rowattr来设置分组标题的样式.因此,您必须迭代groupingView.groups组,测试该值并在loadComplete中手动添加css类.

The demo演示了该方法的可能实现:

相应的代码可能如下:

grouping: true,groupingView: {
    groupField: ["name"],// column name by which we group
    groupColumnShow: [true],groupCollapse: true
},rowattr: function (rd) {
    switch (rd.name) {
    case "test1":
        return { "class": "class1" };
    case "test2":
        return { "class": "class2" };
    case "test3":
        return { "class": "class3" };
    default:
        return {};
    }
},loadComplete: function () {
    var i,group,cssClass,headerIdPrefix = this.id + "ghead_",groups = $(this).jqgrid("getGridParam","groupingView").groups,l = groups.length;
    for (i = 0; i < l; i++) {
        group = groups[i];
        switch (group.value) {
        case "test1":
            cssClass = "class1";
            break;
        case "test2":
            cssClass = "class2";
            break;
        case "test3":
            cssClass = "class3";
            break;
        default:
            cssClass = "";
            break;
        }
        // listghead_0_1
        if (cssClass !== "") {
            $("#" + headerIdPrefix + group.idx + "_" + i).addClass(cssClass);
        }
    }
}

原文地址:https://www.jb51.cc/jquery/181359.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐