JQgrid:更改整行';s字体颜色(如果一列已填充)

JQgrid:更改整行';s字体颜色(如果一列已填充),jqgrid,fonts,compiler-errors,jqgrid-formatter,Jqgrid,Fonts,Compiler Errors,Jqgrid Formatter,我读过一些帖子,但我还是不能跟上,因为我是jqgrid的新手。 我有一个jqgrid,它有5列,但一列开头是空的。 在做一些更新之后,它将被填充 我希望JQgrid更改此行的字体颜色,因此如果它已填充,此行将更改字体颜色为蓝色 jQuery("#list").jqGrid({ .... colModel :[ {name:'prob_id', index:'prob_id', hidden:true, width:10}, {name:'Model',inde

我读过一些帖子,但我还是不能跟上,因为我是jqgrid的新手。 我有一个jqgrid,它有5列,但一列开头是空的。 在做一些更新之后,它将被填充

我希望JQgrid更改此行的字体颜色,因此如果它已填充,此行将更改字体颜色为蓝色

jQuery("#list").jqGrid({
....
colModel :[ 
        {name:'prob_id', index:'prob_id', hidden:true, width:10}, 
        {name:'Model',index:'Model',width:100,editable:true,search:true,stype:'text',searchoption:{sopt:['cn']}}, 
        {name:'Serial', index:'Serial',width:80,editable:true,search:true,stype:'text',searchoptions:{sopt:['cn']}},
        {name:'Lotno', index:'Lotno', width:50, editable:true,
                 search:true,
                 stype:'text',
                 searchoption:{sopt:['cn']}},
        {name:'Detail', index:'Detail', hidden:true,width:70,formatter:myformat}
                                        ],
....

function myformat ( cellvalue, options, rowObject )
                {
                        if (!empty(cellvalue)){
                        return '<font color="blue">' + cellvalue + '</font>';//or use classes
                        } else{
                        return '<font color="black">' + cellvalue + '</font>';//or use classes
                        }
                }

更新

试着这样做: 我决定将条件移至:

function myformat ( cellvalue, options, rowObject )
                {
                        if (cellvalue == "closed"){
                        return '<font color="blue">' + cellvalue + '</font>';//or use classes
                        } else{
                        return '<font color="black">' + cellvalue + '</font>';//or use classes
                        }
                }
函数myformat(单元格值、选项、行对象)
{
如果(单元格值==“已关闭”){
返回“”+cellvalue+“”;//或使用类
}否则{
返回“”+cellvalue+“”;//或使用类
}
}

它是有效的,但它似乎只是一列变为蓝色,我希望整行都有条件
关闭

尝试后插入行和setRowData,如下面给出的代码所示

   afterInsertRow: function(rowid, rowData, rowelem) {
   var detail= rowData['Detail'];
   if(detail=="Closed"){
$(this).jqGrid('setRowData', rowid, false, { color: '#000' });
  }else {
$(this).jqGrid('setRowData', rowid, false, { color: '#FF0000' });
    }
    },

Remove gridView:true(如果gridView为true,afterInsertRow将不起作用)

尝试使用此if(!null(cellvalue))@Kvadiyatar:error,show:
对象不是函数
是否可以尝试使用此函数:if(cellvalue!=null)…如果仍然出现错误,请告诉我。不显示错误,但字体颜色不改变。如果条件或其他条件发生变化,它将继续运行。。。您可以通过警报功能检查它…一个应该在if&一个警报应该在else上…可能是它在else上…因此,根据该条件。您无法获取字体颜色。请将其放置在何处?在colModel内部或在jQuery(“#list”).jqGrid({?在jQuery(#list”).jqGrid内部({颜色不变。请看我更新的帖子,它可以工作,但仅适用于具有值
已关闭的
的单元格,然后在afterInsertRow方法中检查detail==“CLOSED”,也查看detail列中的预期值
   afterInsertRow: function(rowid, rowData, rowelem) {
   var detail= rowData['Detail'];
   if(detail=="Closed"){
$(this).jqGrid('setRowData', rowid, false, { color: '#000' });
  }else {
$(this).jqGrid('setRowData', rowid, false, { color: '#FF0000' });
    }
    },