我正在尝试根据最新的angular-ui-grid中每行的字段值对行进行着色。此外,我们没有任何特定的列定义,因为所有列都是动态生成的。我们也使用ui网格选择。
我已经阅读了一些答案,发现我们可以使用rowTemplate来完成。这是我的行模板
rowTemplate:'<div ng-class="{ \'grey\':row.entity.Locked=="True" }"> <div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid" class="ui-grid-cell" ng-class="{ "ui-grid-row-header-cell": col.isRowHeader }" ui-grid-cell></div></div>'
如果“Locked”列中的值为“True”,我试图将相应的行着色为灰色。但它没有用。我的行模板是否正确或是否有其他方法可以实现此目的?
$scope.gridOptions={
showGridFooter: true,
data:'myData',
paginationPageSizes: [10, 15, 20],
paginationPageSize: 10,
enableColumnResizing: true,
rowTemplate:'<div ng-class="{ \'grey\':row.entity.Locked=="True" }"> <div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid" class="ui-grid-cell" ng-class="{ "ui-grid-row-header-cell": col.isRowHeader }" ui-grid-cell></div></div>',
// Registering Grid API
onRegisterApi : function(gridApi){
// Set gridApi on scope
$scope.gridApi = gridApi;
// Getting Selected rows
gridApi.selection.on.rowSelectionChanged($scope,function(row){
var msg = 'row selected ' + row.isSelected;
console.log(msg);
$scope.mySelectedRows= $scope.gridApi.selection.getSelectedRows();
console.log( $scope.mySelectedRows);
});
}
};
// Request to get the Grid Data
$http.get('WS/datareserve').success(function(data){
$scope.myData=data;
console.log( $scope.myData);
angular.forEach(data[0], function(value, key){
if(key=="Locked"){
$scope.gridOptions.columnDefs.push({ field: key, displayName: "LOCKED", width: 150});
}
else{
$scope.gridOptions.columnDefs.push({ field: key, displayName: key, width: 150});
}
});
//$scope.gridOptions.rowTemplate='<div style=" \'color\' : \'red\' ">'+'<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>';
}).error(function(data){
console.log("Request failed "+ $scope.gridOptions.data);
});
答案 0 :(得分:0)
您的模板是正确的,单元格是使用.ui-grid-cell-contents类设置的,因此您可以使用当前模板为其设置样式。
.grey .ui-grid-cell-contents
{
background-color:red;
}