我有一个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"
}
由于
答案 0 :(得分:1)
通常,最简单的方法是使用renderCell
,这样您就可以直接访问该单元格:
Priority: {
label: "Priority",
renderCell: function (object, value, cell) {
cell.className += " " + value;
return document.createTextNode(value);
}
}
请注意renderCell
可以返回要放置在单元格内的节点。我使用createTextNode
而不是仅设置innerHTML
,因为后者可能会受到来自数据源的HTML注入的影响。