Ui-Grid - 更改背景颜色单元格相同的值

时间:2017-03-16 13:35:48

标签: angular-ui-grid

我正在使用角度UI网格,我需要保持相同的背景颜色,而值等于之前的行。我需要在值不同时合并颜色,如下例所示:

enter image description here

我正在尝试使用cellClass,但是当用户使用滚动时,rowRenderIndex的值会更改,但我丢失了引用。

cellClass: function (grid, row, col, rowRenderIndex, colRenderIndex) {
   ...
}

如何在当前行之前获取行的值和类?

我创建了一个plunker作为例子。在这个plunker中,我想根据前一个字段的值更改列的颜色。如果值等于,则颜色需要相同,但如果值不同,颜色也需要不同。例如,如果您导航到第38行,则在滚动过程中线条的颜色会发生变化。

Plunker

1 个答案:

答案 0 :(得分:1)

这应该让你相当接近。

enter image description here

这是来自控制器的相关代码:

var currentAge = 0;
var previousStyle = 'group2';
$scope.gridOptions.columnDefs = [
  {name:'id'},
  {name:'name'},
  {field:'age',
    cellClass: function (grid, row, col, rowRenderIndex, colRenderIndex) {
        var newStyle;
        if (currentAge != row.entity.age) {
          if (previousStyle == 'group2') {
            previousStyle = '';
            newStyle = 'group2';
          } else {
            previousStyle = 'group2';
            newStyle = 'group1';
          }
        } else {
          if (previousStyle == 'group2') {
            newStyle = 'group1';
          } else {
            newStyle = 'group2';
          }
        }
        currentAge = row.entity.age;
        return newStyle;
      }
    },
  {name: 'address.city'}
];

此处您的Plunker已更新,http://plnkr.co/edit/gxMGCJTgjVpiY3zRVq0g?p=preview

如果您有任何问题,请与我们联系。