leo*_*ora 9 jquery formatter jqgrid
我可以通过在jqgrid自定义格式化程序中执行此操作来更改文本颜色:
function YNFormatter(cellvalue, options, rowObject)
{
var color = (cellvalue == "Y") ? "green" : "red";
var cellHtml = "<span style='color:" + color + "' originalValue='" +
cellvalue + "'>" + cellvalue + "</span>";
return cellHtml;
}
Run Code Online (Sandbox Code Playgroud)
但我想现在改变整个单元格的背景颜色(而不是文本颜色).
这可能吗?
Ole*_*leg 20
如果要<span>在自定义单元格格式器中使用元素,可以从自定义格式化程序返回
return '<span class="cellWithoutBackground" style="background-color:' +
color + ';">' + cellvalue + '</span>';
Run Code Online (Sandbox Code Playgroud)
span.cellWithoutBackground您可以定义的样式,例如以下内容
span.cellWithoutBackground
{
display:block;
background-image:none;
margin-right:-2px;
margin-left:-2px;
height:14px;
padding:4px;
}
Run Code Online (Sandbox Code Playgroud)
它是如何工作的你可以在这里看到:

更新:答案是旧的.最佳做法是使用cellattr回调colModel而不是使用自定义格式化程序.改变单元格的背景颜色通常只是为列(元素)的单元格分配style或class属性<td>.cellattr列中定义的回调colModel允许完全执行此操作.一个仍然可以使用预定义的格式化像formatter: "checkbox",formatter: "currency",formatter: "date"等等,但依然改变在列的背景颜色.以同样的方式,rowattr回调(可以定义为jqGrid选项(在特定列的外部colModel))允许分配整行(<tr>元素)的样式/类.
例如,cellattr可以在此处和此处找到有关的更多信息.另一个答案解释rowattr.
| 归档时间: |
|
| 查看次数: |
29185 次 |
| 最近记录: |