基于单元格值的颜色dgrid单元格

时间:2015-05-26 22:50:01

标签: javascript css dojo dgrid

我有一个dgrid,我尝试使用格式化程序函数和css根据单元格的值设置单元格背景颜色。 dgrid位于ID为UnMarkedTicketGridDiv

的div中

格式化函数:

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

的CSS:

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

知道为什么细胞不会变成绿色吗?我已经验证了正在调用格式化程序功能,并且有一个名为&#39; NORM&#39;这样就定义了这个类。我认为让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"
                }

由于

1 个答案:

答案 0 :(得分:1)

通常,最简单的方法是使用renderCell,这样您就可以直接访问该单元格:

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

请注意renderCell可以返回要放置在单元格内的节点。我使用createTextNode而不是仅设置innerHTML,因为后者可能会受到来自数据源的HTML注入的影响。