是否可以在jqGrid(jquery grid http://www.trirand.com/blog/)中使用自定义单元格文本颜色,例如在价格栏中我想要红色,如果价格> 100美元和绿色,如果价格< 50 $其他灰色?
更一般地做
jqGrid提供了更改网格单元格视图的挂钩,例如我可以在创建或修改价格列的单元格时注册回调。
或者是否可以有单独的模型和视图(客户端) 例如从服务器我可以为每一行发送两个数据,即如何显示和显示什么
编辑:所以这里有一个示例显示样本格式化程序,它根据值
为单元格着色function infractionInFormatter(el, cellval, opts)
{
$(el).html(cellval).css('color',infraction_color_map[cellval]);
}
colModel :[
...
{name:'date', index:'date', width:120, date:true},
{name:'inf_out', index:'inf_out', width:60, formatter:infractionInFormatter,},
...
],
答案 0 :(得分:8)
是的,你可以这样做。写一个custom formatter。这只是一个在colModel中传递引用的函数。您可以在函数中获得对最终单元格选择器的引用,因此您可以在格式化程序中使用jQuery执行任何操作。包括改变颜色/风格。
答案 1 :(得分:2)
您还可以在colModel中指定类:
colModel: [
{
name:'field_x',
index:'field_x',
align: 'left',
width: 35,
classes: 'cvteste'
},
.....
]
答案 2 :(得分:-1)
如果单元格有xxx值,我会设置红色背景颜色,如果值为yyy,我会设置绿色背景。
我写了这段代码:
.....
colModel:[
{name:'id',index:'id', width:15,hidden:true, align:"center"},
{name:'title',index:'title', width:150, align:"center"},
{name:'start',index:'start', width:350, align:"center", sorttype:"date"},
{name:'fine',index:'fine', width:350, align:"center", sorttype:"date"},
{name:'completed',index:'completed', width:120, align:"center",formatter:infractionInFormatter},
],
.....
这个功能就像你的例子:
function infractionInFormatter(el, cellval, opts)
{
.....
}
我如何设置它?
非常感谢。