基于小区值颜色dgrid细胞(color dgrid cell based on cell valu

2019-10-23 05:17发布

我有一个dgrid,我想设置基于使用格式化功能和css的单元格的值单元格背景颜色。 所述dgrid位于与ID UnMarkedTicketGridDiv一个div内

格式化功能:

formatPriority: function (item) {
            return = "<td class='" + item + "'>" + item + "</td>";
        },

CSS:

#UnMarkedTicketGridDiv td.NORM
{
    background-color:Green;
    color:Green;
}

任何想法,为什么细胞的arent得到染成绿色? 我已经验证了格式化函数被调用,并且有一个名为“规范”,这样被定义的这个类的项目。 我认为它与得到的CSS选择正确的东西吗?

这里的网格列定义:

grid = new (declare([OnDemandGrid, DijitRegistry]))({
                store: gridStore,
                columns: {
                    ID: "ID",
                    Ticket: "Ticket",
                    Street: "Address",
                    DateRcvdInt: { label: "Date Rcvd", formatter: this.formatDate },
                    WorkDateInt: { label: "Work Date", formatter: this.formatDate },
                    Priority: { label: "Priority", formatter: this.formatPriority },
                    Type: "Type",
                    Company: "Company"
                }

谢谢

Answer 1:

一般情况下,要做到这一点最简单的方法是使用renderCell ,它给你的电池直接访问:

Priority: {
    label: "Priority",
    renderCell: function (object, value, cell) {
        cell.className += " " + value;
        return document.createTextNode(value);
    }
}

需要注意的是renderCell可以返回到被放置在小区内的节点。 我用createTextNode而不是仅仅设置innerHTML因为后者将是潜在易受来自数据源HTML注入。



文章来源: color dgrid cell based on cell value