mrs*_*nce 1 jquery jqgrid jqgrid-asp.net
我已经看到有关条件格式的大量信息,但似乎无法让它工作.我希望当它的值(即日期)过去时,将单元格的字体设置为红色.
这是我现在所拥有的一般概念:
{
name: 'IsoDate', index: 'IsoDate', align: 'left', sorttype: 'date', datefmt: "m/d/Y",
formatter: function (cellvalue, options, rowobject) { var now = new Date(); if (cellvalue < now) { return '<span class="error">' + cellvalue + '</span>'; } else { cellvalue; } }
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法让它工作.我已经得到它来返回所有红色值或所有未定义的值.有些领域还没有日期.
我很感激任何帮助!谢谢!
更新:
这是我使用的代码,最终工作.我实际上是在引用日期的另一列.
cellattr: function (rowid, val, rawObject, cm, rdata) {
var idate = new Date(rawObject['IsoDate']);
return (idate < new Date()) ? ' class = "ui-state-error-text"' : ' class = "field-validation-green"';
}
Run Code Online (Sandbox Code Playgroud)
最好使用cellattr而不是自定义格式化程序.在这种情况下,你仍然可以使用预定义的格式一样formatter: "date",只是设置附加style或class所选择的属性<td>细胞.例如,ui-state-error-text在我看来,将单元格的字体设置为红色是很好的选择.所以列的定义可以是
{
name: "IsoDate", sorttype: "date",
formatter: "date", formatoptions: {newformat: "m/d/Y"},
cellattr: function (cellvalue) {
return (cellvalue < new Date()) ? ' class="ui-state-error-text"' : '';
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定哪些数据是您输入的,以及您发布的代码是否正常工作.如果需要,您可以更改与cellvalue您拥有的格式相对应的上述代码.
请参阅答案,这一个,这一个以及许多其他更多用法示例cellattr.
| 归档时间: |
|
| 查看次数: |
7652 次 |
| 最近记录: |