将类添加到ng-grid行

时间:2013-10-29 19:43:52

标签: javascript angularjs ng-grid

我正在使用ng-grid来显示正在上传的文件集合(每个文件都有自己的行)。

如果一个/任何文件无法上传,我想修改该行并在其上放置一个类以显示它无法上传。

我如何将一个类添加到整行?

2 个答案:

答案 0 :(得分:13)

您必须使用行模板。在此模板中,您可以使用ng-class并通过数据绑定动态分配CSS类。

一个简单的例子:

<强> HTML

<body ng-controller="MyCtrl">
    <div class="grid" ng-grid="gridOptions"></div>
</body>

<强>的JavaScript

var app = angular.module('myApp', ['ngGrid']);

app.controller('MyCtrl', function($scope) {
  $scope.fileOneUploaded = true;
  $scope.fileTwoUploaded = false;

  $scope.gridData = [{fileName: 'File 1', size: 1000, isUploaded: $scope.fileOneUploaded },
                {fileName: 'File 2', size: 2000, isUploaded: $scope.fileTwoUploaded }];
  $scope.gridOptions = { 
    data: 'gridData',
    rowTemplate: '<div style="height: 100%" ng-class="{red: !row.getProperty(\'isUploaded\')}">' + 
                    '<div ng-repeat="col in renderedColumns" ng-class="col.colIndex()" class="ngCell ">' +
                      '<div ng-cell></div>' +
                    '</div>' +
                 '</div>'

  }
});

<强> CSS

.grid {
  width: 300px; 
  height: 100px;
  border: solid 1px rgb(90,90,90);
}

.red {
  background-color: red;
  color: white;
}

答案 1 :(得分:1)

我很蠢。有一个标准的配置选项,即rowTemplate

感谢@charlieftl让我重新阅读文档:)