您将如何为特定的 jqgrid 单元格文本着色

how would you colorize specific jqgrid cell text

我有一个存储过程 (sql server 2008) returns (4) 个不同字段的状态到 jqgrid 的单个列中,例如 Good/Bad/Good/Bad。我想要做的是将 Good 文本显示为绿色,将 Bad 文本显示为红色。我可以将它们分成不同的列,然后设置每个列的颜色,但我更喜欢只有一个列。我可以在存储过程中设置这个值,或者用 html 将其包装在 class 中来执行此操作吗?

这可能吗?

谢谢。

不确定自从我上次接触 JQGrid 以来它发生了多少变化,但您可以这样做:

jQuery("#list").jqGrid({
url: 'yoururl',  
datatype: 'xml',
mtype: 'GET',
colNames:['id','category'],
....
gridComplete: function fireup(){
  jQuery('#list')
    .setCell('d1','kategorie', '', { 'font-weight': 'bold', background: '#ddf' }) 
    .setCell('d1','name', '', { 'font-weight': 'bold', background: '#ddf' })  

您可以使用 custom formatter 来执行以下操作。

{ name: 'status', index: 'status', formatter:colorFormatter}

colorFormatter 函数如下所示。

function colorFormatter (cellvalue, options, rowObject)
{
   var data = cellvalue.split('/');
   var length = data.length; 
   var new_format_value='', text, color, separator='/'; 

   for(var i=0; i<length; i++) {
       var text=data[i]; 
       text=='Good'?
           color='style="color:green;"':
           color='style="color:red;"';

       if(i==length-1) separator='';    

       new_format_value+='<span '+color+'>'+text+'</span>'+separator;
   }

   return new_format_value
}

JS Fiddle link: http://jsfiddle.net/yNw3C/12221/