teb*_*nep 19 html javascript css angularjs angular-ui-grid
我试图根据它在新的angular-ui-grid 3.0 rc12中的值来着色,但我无法做到.以下代码用于以前的版本(ngGrid):
$scope.gridOptions =
data: 'data.sites'
tabIndex: -1
enableSorting: true
noTabInterference: true
enableColumnResizing: true
enableCellSelection: true
columnDefs: [
{field: 'sv_name', displayName: 'Nombre'}
{field: 'sv_code', displayName: 'Placa'}
{field: 'count', displayName: 'Cuenta'}
]
rowTemplate: """<div ng-class="{green: true, blue: row.getProperty('count') === 1}"
ng-repeat="col in colContainer.renderedColumns track by col.colDef.name"
class="ui-grid-cell"
ui-grid-cell></div>"""
Run Code Online (Sandbox Code Playgroud)
和相应的CSS:
.grid {
width: 100%;
height: 250px;
}
.green {
background-color: #2dff07;
color: #006400;
}
.blue {
background-color: #1fe0f0;
color: #153ff0;
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是表达式:
row.getProperty('count') === 1
Run Code Online (Sandbox Code Playgroud)
不再像在ngGrid中那样工作了.任何关于如何在angular-ui-grid中实现相同的猜测(ui-grid.info)
非常感谢!
mai*_*guy 34
新的ui-grid具有cellClass的特殊属性:
$scope.gridOptions = {
enableSorting: true,
data:'myData',
columnDefs: [
{ field: 'sv_name', displayName: 'Nombre'},
{field: 'sv_code', displayName: 'Placa'},
{ field: 'count', displayName: 'Cuenta',
cellClass: function(grid, row, col, rowRenderIndex, colRenderIndex) {
if (grid.getCellValue(row,col) == 1) {
return 'blue';
}
return 'green';
}
}
]
};
Run Code Online (Sandbox Code Playgroud)
看看他的Plunker
请注意,我为类的颜色绿色的红色,因为它是更好地看到和搅拌最大的困惑:-)
更新:
这是行着色的解决方案.
像这样写你的rowTemplate:
var rowtpl='<div ng-class="{\'green\':true, \'blue\':row.entity.count==1 }"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader }" ui-grid-cell></div></div>';
Run Code Online (Sandbox Code Playgroud)
请注意,背景颜色会被单元格背景覆盖.自己找一个方法:-)
对不起,您的问题最初被误读了.我将cellClass部分留在这个答案中,万一有人可能需要它.
Gab*_*ant 15
请注意,背景颜色会被单元格背景覆盖.自己找一个方法:-)
根据前面的答案,如果要覆盖行级别的背景颜色,可以使用:
.ui-grid-row .ui-grid-cell {
background-color: inherit !important;
}
Run Code Online (Sandbox Code Playgroud)
您只需使用特定的css类即可
.invalidated {
background-color: #f2dede !important;
}
Run Code Online (Sandbox Code Playgroud)
并使用'invalidated'字段在行模板div上添加ng-class或调用函数(示例在plnkr中):
<div ng-class="{invalidated: row.entity.invalidated}"
Run Code Online (Sandbox Code Playgroud)
这是plunkr http://plnkr.co/edit/syuRZorj0nGq3B9p3U1h?p=preview
希望有所帮助.