JQgrid:更改整行';s字体颜色(如果一列已填充)
我读过一些帖子,但我还是不能跟上,因为我是jqgrid的新手。 我有一个jqgrid,它有5列,但一列开头是空的。 在做一些更新之后,它将被填充 我希望JQgrid更改此行的字体颜色,因此如果它已填充,此行将更改字体颜色为蓝色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
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' });
}
},