Jqgrid окрашивание фона ячеек
Задача: при определенном условии, необходимо окрасить строку
Подводные камни:
- событие afterInsertRow, в последних версиях jqgrid не работает
- Навешивание события по окраске на чтото типа : {name:’price’, index:’price’, width:60, align:»center», editable: true, formatter:currencyFmatter}, результата не дает, т.к. в этот момент DOM еще не сформирован.
Решение:
По завершении отрисовки, проходимся по нужным ячейкам, и окрашиваем строку случае соответствия:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
gridComplete:function(){ console.log("--вставил!"); var mya=new Array(); mya=$("#list2").getDataIDs(); var data=$("#list2").getRowData(mya[0]); var colNames=new Array(); var ii=0; for (var i in data){colNames[ii++]=i;} for(i=0;i<mya.length;i++){ data=$("#list2").getRowData(mya[i]); console.log(data[colNames[3]]); if (data[colNames[3]]=="Access-Reject"){ $('#'+mya[i]).css({'background-color':'#FF7700'}); console.log(mya[i]); } else { $('#'+mya[i]).css({'background-color':'#229922'}); } } |