【问题标题】:Datatables JS - Conditional Formatting based on rank of data valueDatatables JS - 基于数据值等级的条件格式
【发布时间】:2018-04-24 20:23:08
【问题描述】:

我想根据值的排名来格式化我的表中的数据,使用一种交通灯系统,例如,在下表的 SCORE1 列中,102 的分数将显示为绿色,分数89 分为黄色,7 分为红色。

NAME | SCORE1 | SCORE2 | SCORE3
--------------------------------
Ken  |   89   |   56   |   78
Sue  |   102  |   34   |   43
Dave |   7    |   200  |   12

我的表格将包含 3 到 30 行,我想根据它们的排名将这些值着色为略有不同的阴影,从绿色到红色。

这可以使用一些花哨的 Javascript/JQuery 来完成吗?

【问题讨论】:

  • 对于列中的每个值来说,类似于红色和绿色之间的颜色渐变?
  • 是的,所以排名靠前的值将是亮绿色,排名第二的值是略浅的绿色,从黄色下降到红色。困难的部分是确定每个值的排名。

标签: javascript jquery css datatables


【解决方案1】:

是的,您可以轻松做到。

 var oTable = $('#countryTable').DataTable({ 
    'rowCallback': function(row, data, index){
    if(data[3]> 11.7){
        $(row).find('td:eq(3)').css('color', 'red');
    }
    if(data[2].toUpperCase() == 'EE'){
        $(row).find('td:eq(2)').css('color', 'blue');
    }
  }
});

这是一个fiddle 进行实验。

【讨论】:

  • 这不是我需要的,我需要按等级分配数字的颜色,所以如果我指定最高分应该是绿色,那么每列中的最高分将是绿色,第二高的是黄色,等等。
  • 您可以为此创建规则。像这样:var green = 70; var red = 30; if(data[index] > green){...} if(data[index] < red){...}
猜你喜欢
  • 2016-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-18
  • 2020-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多