我正在使用角度UI网格,我需要保持相同的背景颜色,而值等于之前的行。我需要在值不同时合并颜色,如下例所示:
我正在尝试使用cellClass,但是当用户使用滚动时,rowRenderIndex的值会更改,但我丢失了引用。
cellClass: function (grid, row, col, rowRenderIndex, colRenderIndex) {
...
}
如何在当前行之前获取行的值和类?
我创建了一个plunker作为例子。在这个plunker中,我想根据前一个字段的值更改列的颜色。如果值等于,则颜色需要相同,但如果值不同,颜色也需要不同。例如,如果您导航到第38行,则在滚动过程中线条的颜色会发生变化。
答案 0 :(得分:1)
这应该让你相当接近。
这是来自控制器的相关代码:
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。
如果您有任何问题,请与我们联系。