角度ui网格行模板颜色基于条件

riy*_* tk 4 angularjs ng-grid angular-ui-grid

我需要根据某些条件改变角度ui网格的行颜色.如图所示,目标在ng-grid中实现

 rowTemplate: '<div style="height: 100%" ng-class="{red: row.getProperty(\'viewed\') < 1}"><div ng-style="{ \'cursor\': row.cursor }" ng-repeat="col in renderedColumns" ng-class="col.colIndex()" class="ngCell ">' +
             '<div class="ngVerticalBar" ng-style="{height: rowHeight}" ng-class="{ ngVerticalBarVisible: !$last }"> </div>' +
            '<div ng-cell></div>' +
            '</div></div>',
Run Code Online (Sandbox Code Playgroud)

如何在角度ui网格中实现相同

小智 9

根据ui-grid api,我没有看到"被查看"是行的属性:http://ui-grid.info/docs/#/api/ui.grid.class : GridRow.但是,如果你想评估对象中的属性(假设你的数据是一个对象数组),它将看起来像这样.

你需要在你的CSS中使用它来覆盖默认的行着色

.ui-grid-row .ui-grid-cell {
  background-color: inherit !important;
}
Run Code Online (Sandbox Code Playgroud)

你的风格:

.my-style-1 {
  background-color: #ff0000 !important;
}
.my-style-2 {
  background-color: #ffffff !important;
}
.my-style-3 {
  background-color: #0000ff !important;
}
Run Code Online (Sandbox Code Playgroud)

rowTemplate:

rowTemplate: '<div ng-class="{\'my-style-1\':row.entity.Field1===1,  \'my-style-2\':row.entity.Field1===2,  \'my-style-2\':row.entity.Field1===3}" <div ng-repeat="col in colContainer.renderedColumns track by col.colDef.name"  class="ui-grid-cell" ui-grid-cell></div></div>'

//example data
data:[{'Field1': 1, 'Field2': 'abc', 'Field3': 'def'},
        {'Field1': 2, 'Field2': 'hij', 'Field3': 'klm'},
        {'Field1': 3, 'Field2': 'nop', 'Field3': 'qrs'}];
Run Code Online (Sandbox Code Playgroud)


hua*_*eng 6

我认为在ng-grid和ui-grid中,你都可以使用

cellTemplate: '<div style="height: 100%" ng-class="{red: row.getProperty(\'viewed\') < 1}"><div ng-style="{\'cursor\': row.cursor}" ng-repeat="col in renderedColumns" ng-class="col.colIndex()" class="ngCell ">' +
         '<div class="ngVerticalBar" ng-style="{height: rowHeight}" ng-class="{ngVerticalBarVisible: !$last}"> </div>' +
        '<div ng-cell></div>' +
        '</div></div>'?
Run Code Online (Sandbox Code Playgroud)


yar*_*arl 5

而不是cellTemplate在其他anwser 中提到,您也可以使用cellClass:

cellClass: function (grid, row) {
  return row.entity.age < 18 ? 'young' : 'old';
};
Run Code Online (Sandbox Code Playgroud)