Hardik Munjaal
Hardik Munjaal

Reputation: 93

Angular js Grid Validation

I want to add validation, such that those cells of my grid, which have age more than 40, will show in red color?

     <html ng-app="myApp">  
     <head lang="en">
     <meta charset="utf-8">
     <title>Getting Started With ngGrid Example</title>  
     <link rel="stylesheet" type="text/css" href="ng-grid.css" />
    <link rel="stylesheet" type="text/css" href="style.css" />
    <script type="text/javascript" src="jquery-1.8.2.js"></script>
    <script type="text/javascript" src="angular.js"></script>
     <script type="text/javascript" src="ng-grid-1.3.2.js"></script>
     <script type="text/javascript">
     var app = angular.module('myApp', ['ngGrid']);
         app.controller('MyCtrl', function($scope) {
                 $scope.myData = [{name: "Moroni", age: 50},
                 {name: "Tiancum", age: 43},
                 {name: "Jacob", age: 27},
                 {name: "Nephi", age: 29},
                 {name: "Enos", age: 34}];
        $scope.gridOptions = { 
           data: 'myData',
       enableCellSelection: true
                         };
            });
          </script>
             </head>
    <body ng-controller="MyCtrl">
       <div class="gridStyle" ng-grid="gridOptions"></div>
    </body>
    </html>

How Can I do that? Please help me?

Upvotes: 2

Views: 608

Answers (2)

Chetan Sanghani
Chetan Sanghani

Reputation: 2111

you can use this.

var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
    $scope.myData = [{name: "Moroni", age: 50},
                    {name: "Tiancum", age: 43},
                    {name: "Jacob", age: 27},
                    {name: "Nephi", age: 29},
                    {name: "Enos", age: 34}];
    $scope.gridOptions = { 
        data: 'myData',
        columnDefs: [{field: 'name', displayName: 'Name'},
                     {field:'age', displayName:'Age', cellTemplate: '<div ng-class="{red: row.getProperty(col.field) > 40}"><div class="ngCellText">{{row.getProperty(col.field)}}</div></div>'}]
        };
});

Upvotes: 1

sfletche
sfletche

Reputation: 49714

You can add a cell template to your grid

 $scope.gridOptions = { 
     data: 'myData',
     enableCellSelection: true
     columnDefs: [{cellTemplate: '<div ng-class="{red: row.getProperty(col.field) > 40}"><div class="ngCellText">{{row.getProperty(col.field)}}</div></div>'}]
};

See the Template Examples section of the docs for more.

Upvotes: 2

Related Questions