2011-12-15 3 views
0

jqGrids loadComplete 함수를 호출하여 특정 임계 값을 충족하거나 초과하는 열의 특정 셀을 강조 표시 할 수 있습니까? 여기에 내가 할 시도하고있어 무엇 :jqGrid에서 숫자 임계 값을 강조 표시 하시겠습니까?

loadComplete: function() { 

    var threshold = '5'; 

    // How do I iterate through each row and check for a value exceeding my threshold? 

    $.each(rows,function(index, value) { 
     //alert("index: " + index); 
     grid.jqGrid('setCell',index,"name", '', {'color':'red'}); 

    }); 
} 

답변

1
 loadComplete: function() { 
     var cssGreen = {'background-color':'#6DFF6D', 
      'filter': 'progid:DXImageTransform.Microsoft.gradient(startColorstr = \'#D9FFD9\', endColorstr = \'#6DFF6D\')', 
      'background': '-moz-linear-gradient(bottom, #D9FFD9, #6DFF6D 2px, #D9FFD9 4px)'}; 
     var cssRed = {'background-color':'#FF6D6D', 
      'filter': 'progid:DXImageTransform.Microsoft.gradient(startColorstr = \'#FECECD\', endColorstr = \'#FF6D6D\')', 
      'background': '-moz-linear-gradient(bottom, #FECECD, #FF6D6D 2px, #FECECD 4px)'}; 
     var columns = grid.jqGrid('getGridParam', 'colModel'); 
     var ids = jQuery("#gridMain").jqGrid('getDataIDs'); 
     for (var i = 0; i < columns.length; i++) { 
      var columnName = columns[i].name; 
      for (var j = 0; j < ids.length; j++) { 
       var cell = grid.jqGrid("getCell", ids[j], columnName); 
       grid.setCell(ids[j], columnName, '', '', {'title':colNameData[i]}); 
       if (cell != null && cell.indexOf("%g") >= 0) { 
        grid.jqGrid('setCell', ids[j], columns[i].name, '', cssGreen); 
       } else if (cell != null && cell.indexOf("%r") >= 0) { 
        grid.jqGrid('setCell', ids[j], columns[i].name, '', cssRed); 
       } 
      } 
     } 

희망이 예제는 사용자가 원하는 것입니다. celldata에 '% g'이 포함되어 있으면 상단으로 정의 된 CSS syle이 적용됩니다. CSS를 원하는 강조 스타일로 설정하십시오.

<script> 
jQuery("#grid_id").jqGrid({ 
... 
    colModel: [ 
     ... 
     {name:'price', index:'price', width:60, align:"center", editable: true, formatter:currencyFmatter}, 
     ... 
    ] 
... 
}); 

function currencyFmatter (cellvalue, options, rowObject) 
{ 
    if (cellvalue > 5){ 
    return "<div style='color:red'>"+cellvalue+"</div>"; 
    }else{ 
    return cellvalue; 
    } 
} 
</script> 
:
0

도있는 jqGrid의 custom formatter

예를 들어 당신이 뭔가를 할 수 있습니다 사용하여 달성 될 수있다

관련 문제