我已经阅读了一些帖子,但由于我是jqgrid的新手,我仍然无法关注。 我有一个jqgrid有5列,但是1列是空的开头。 在进行一些更新后,它将被填充。
我希望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
}
}
我想更改具有详细信息字段值
的所有行的字体颜色但是我收到了错误:
empty is not defined
更新
尝试这种方式: 我决定将条件移至:
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
}
}
并且它有效,但似乎只有一列转为蓝色,我想要整个行有条件CLOSED
。
答案 0 :(得分:3)
尝试使用下面给出的代码中的afterInsertRow和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' });
}
},
删除gridView:true(如果gridView为true,则afterInsertRow不起作用)