【问题标题】:jqgrid change the font color of cell based on the value of another celljqgrid根据另一个单元格的值改变单元格的字体颜色
【发布时间】:2014-06-30 20:21:00
【问题描述】:

我们如何根据另一列值的值来改变一列的字体颜色?

假设我有 2 列 col1 和 col2 如果 col1 的值为 1 - col2 应该是红色的 如果 col1 的值为 2 - col2 的颜色应该是绿色

【问题讨论】:

    标签: jqgrid jqgrid-formatter


    【解决方案1】:
    function fontFormatter(cellValue, opts, rowObject){ 
        switch(rowObject.col1){
            case "1": 
                return '<span style="color:red">'+cellValue+'</span>'; 
            break; 
            case "2" : 
                return '<span style="color:green">'+cellValue+'</span>'; 
            break; 
        } 
    }
    

    【讨论】:

      【解决方案2】:

      你可以使用loadComplete:

      loadComplete: function() {
          var gridData = $("#GRID_ID").jqGrid('getRowData');
      
          for(var i=0; i<=gridData.length; i++) {
              var rowData = $("#GRID_ID").jqGrid('getRowData',i+1);
      
              if(rowData.col1 == 1) { 
                  $("#GRID_ID").jqGrid('setCell',i+1,"col2","",{color:'red'});
              }   
              if(rowData.col1 == 2) { 
                  $("#GRID_ID").jqGrid('setCell',i+1,"col2","",{color:'green'});
              }
          }
      }
      

      告诉我它是否有效(或无效)

      【讨论】:

      • 我找到了使用格式化程序的解决方案.... function fontFormatter(cellValue, opts, rowObject){ switch(rowObject.a_cashflowtype){ case "1": return ''+cellValue+'';休息;案例“2”:返回''+cellValue+'';休息; } }
      • 请将此评论作为答案发布,并将其加粗为“已接受的答案”,以便与您有相同问题的人找到它
      • lucasdc 我已将 ita 添加为答案