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

标签 jquery jqgrid colors

我正在使用 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" };
    }
},

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

enter image description here

我希望根据标题中的文本将深灰色标题颜色设置为不同的颜色(类似于我的行颜色)。

这可能吗?

最佳答案

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

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

enter image description here

相应的代码如下:

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);
        }
    }
}

关于jquery - jQGrid - 更改分组标题的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19841588/

相关文章:

javascript - 具有延迟的 hoverintent 函数

JQuery 垃圾代码将自身添加到 SharePoint 2010 中的 HTML 内容

ios - 更改 UIDatePicker 字体颜色?

Javascript 将文本和背景的颜色更改为输入值

javascript - 使用 jQuery 的淡入/淡出动画效果

javascript - 从表单中已更改的字段获取值和名称

jquery - 页面上包括jquery菜单和jqGrid

javascript - 如何在页面重新加载时保留 jqGrid 中的搜索过滤器?

java - 在 Struts 2 jQuery 网格中 select 的格式化程序中获取所选值

java - 将字符串转换为十六进制以用作 Canvas 油漆颜色 Java