Datatable使用rowcallback更改行颜色

问题描述 投票:2回答:2

我正在使用数据表,如果STATEMENT满足要求,目前仍然在将行更改为另一种颜色,已经尝试了很多东西,但它确实有很奇怪的错误,我的代码是:

"rowCallback": function( row, data, index ) {
        if ( data[2] < data[4] ) {
          $('td', row).css('background-color', 'pink');
        }
}

在我的响应文件中,我写了这个查询:

$sql = "SELECT itemid,itemname,stock,unit,minimum FROM item WHERE type LIKE 'homecare'";

如果项目的库存低于用户设置的最小值,我想更改行颜色。

我目前的数据表测试结果是:enter image description here

我运行的示例测试结果:

  • 低于10且高于最低值=不变
  • 10以上=红色<<它应该是不变的,因为它高于最小值
  • 50及以上=不变

行'最小'列的数据库设置是相同的数字(5)

谢谢你的帮助!

jquery datatables
2个回答
3
投票

您似乎有9 cc10 cc以及stock列中的值?如果要进行数字比较,则必须将每列的编号作为数字提取。我还要在.pink上添加一个<tr>类,而不是在所有background-color上设置<td>

"rowCallback": function( row, data, index ) {
  var stock = parseFloat(data[0]), //data[2]
      minimum = parseFloat(data[1]), //data[4]
      $node = this.api().row(row).nodes().to$();

  if (stock < minimum ) {
     $node.addClass('pink')
  } 
}      

但是ー> z zxswい


3
投票

新数据表具有以下用于突出显示行的功能:

http://jsfiddle.net/104o96cn/
© www.soinside.com 2019 - 2024. All rights reserved.