【发布时间】:2011-03-15 18:24:04
【问题描述】:
我可以通过在 jqgrid 自定义格式化程序中执行此操作来更改文本颜色:
function YNFormatter(cellvalue, options, rowObject)
{
var color = (cellvalue == "Y") ? "green" : "red";
var cellHtml = "<span style='color:" + color + "' originalValue='" +
cellvalue + "'>" + cellvalue + "</span>";
return cellHtml;
}
但我现在想更改整个单元格的背景颜色(而不是文本颜色)。
这可能吗?
【问题讨论】:
-
@harshhh - 我添加了另一条评论
-
您应该只使用
'background-color'而不是'color'并设置附加样式'background-image':'none'以删除从jQuery UI 类'ui-widget-content' 继承的背景图像。如果您想另外使用标准颜色来悬停或/和选定的行,您可以使用我在stackoverflow.com/questions/4956949/… 中描述的技术 -
@Oleg - 背景颜色仅适用于跨度(不是整个 TD 单元格)
-
@ooo:在您写的问题中,您希望/必须使用自定义格式化程序。自定义格式化程序返回的文本将放置在
<td>单元格中。因此,您没有机会更改<td>本身。您最多可以做的是放置像<span>这样的任何元素,它可能具有<td>的整个大小(取决于使用的CSS)。在这种情况下,用户将看到<span>的背景,就像单元格背景一样。使用自定义格式化程序你不能做更多。 -
@ooo:为了清楚起见,我确实写下了我的答案。