AngularJS Tables
- Previous Page AngularJS Http
- Next Page AngularJS Selection
The ng-repeat directive is very suitable for displaying tables.
Displaying data in a table
Displaying a table with AngularJS is very simple:
AngularJS Examples
<div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names"> <td>{{ x.Name }}</td> <td>{{ x.Country }}</td> </tr> </table> </div> <script> var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $http) { $http.get("customers.php") .then(function (response) {$scope.names = response.data.records;}); }); </script>
Display using CSS styles
To make it look better, you can add some CSS to the page:
CSS Styles
<style> table, th , td { border: 1px solid grey; border-collapse: collapse; padding: 5px; } table tr:nth-child(odd) { background-color: #f1f1f1; } table tr:nth-child(even) { background-color: #ffffff; } </style>
Display using orderBy filter
To sort the table, please add orderBy
Filter:
AngularJS Example
<table> <tr ng-repeat="x in names | orderBy : 'Country'"> <td>{{ x.Name }}</td> <td>{{ x.Country }}</td> </tr> </table>
Display using uppercase filter
To display in uppercase, please add uppercase
Filter:
AngularJS Example
<table> <tr ng-repeat="x in names"> <td>{{ x.Name }}</td> <td>{{ x.Country | uppercase }}</td> </tr> </table>
Display table index ($index)
To display the table index, please add a field with $index
of <td>:
AngularJS Example
<table> <tr ng-repeat="x in names"> <td>{{ $index + 1 }}</td> <td>{{ x.Name }}</td> <td>{{ x.Country }}</td> </tr> </table>
Using $even and $odd
AngularJS Example
<table> <tr ng-repeat="x in names"> <td ng-if="$odd" style="background-color:#f1f1f1">{{ x.Name }}</td> <td ng-if="$even">{{ x.Name }}</td> <td ng-if="$odd" style="background-color:#f1f1f1">{{ x.Country }}</td> <td ng-if="$even">{{ x.Country }}</td> </tr> </table>
- Previous Page AngularJS Http
- Next Page AngularJS Selection