3197891abd2c7abb0c8381c7f3b5de282a415e58

AngularJS ngTable Example

angularjs

  • Using ngTable module we can create a table for displaying data.
  • This ngTable module can be found in this link.
  • To demonstrate the use of ngTable we have created the NgTableDemo project structure.

image

  • The data.json contains the code for person data.The content of data.json file are as follows:-
{
 "person":[
 {
 "id" : 1,
 "primary" : {"name":"John", "age":"20"},
 "secondary" : {"name":"LINDA", "age":"23"}
 },
 {
 "id" : 2,
 "primary" : {"name":"SMITH", "age":"20"},
 "secondary" : {"name":"KATE", "age":"25"}
 },
 {
 "id" : 3,
 "primary" : {"name":"Sandeep", "age":"20"},
 "secondary" : {"name":"Sumanta", "age":"21"}
 },
 {
 "id" : 4,
 "primary" : {"name":"Bapi", "age":"20"},
 "secondary" : {"name":"Tapi", "age":"25"}
 },
 {
 "id" : 5,
 "primary" : {"name":"John", "age":"20"},
 "secondary" : {"name":"LINDA", "age":"23"}
 },
 {
 "id" : 6,
 "primary" : {"name":"SMITH", "age":"20"},
 "secondary" : {"name":"KATE", "age":"25"}
 },
 {
 "id" : 7,
 "primary" : {"name":"Sandeep", "age":"20"},
 "secondary" : {"name":"Sumanta", "age":"21"}
 },
 {
 "id" : 8,
 "primary" : {"name":"Bapi", "age":"20"},
 "secondary" : {"name":"Tapi", "age":"25"}
 },
 {
 "id" : 1,
 "primary" : {"name":"John", "age":"20"},
 "secondary" : {"name":"LINDA", "age":"23"}
 },
 {
 "id" : 2,
 "primary" : {"name":"SMITH", "age":"20"},
 "secondary" : {"name":"KATE", "age":"25"}
 },
 {
 "id" : 3,
 "primary" : {"name":"Sandeep", "age":"20"},
 "secondary" : {"name":"Sumanta", "age":"21"}
 },
 {
 "id" : 4,
 "primary" : {"name":"Bapi", "age":"20"},
 "secondary" : {"name":"Tapi", "age":"25"}
 },
 {
 "id" : 5,
 "primary" : {"name":"John", "age":"20"},
 "secondary" : {"name":"LINDA", "age":"23"}
 },
 {
 "id" : 6,
 "primary" : {"name":"SMITH", "age":"20"},
 "secondary" : {"name":"KATE", "age":"25"}
 },
 {
 "id" : 7,
 "primary" : {"name":"Sandeep", "age":"20"},
 "secondary" : {"name":"Sumanta", "age":"21"}
 },
 {
 "id" : 8,
 "primary" : {"name":"Bapi", "age":"20"},
 "secondary" : {"name":"Tapi", "age":"25"}
 },
 {
 "id" : 1,
 "primary" : {"name":"John", "age":"20"},
 "secondary" : {"name":"LINDA", "age":"23"}
 },
 {
 "id" : 2,
 "primary" : {"name":"SMITH", "age":"20"},
 "secondary" : {"name":"KATE", "age":"25"}
 },
 {
 "id" : 3,
 "primary" : {"name":"Sandeep", "age":"20"},
 "secondary" : {"name":"Sumanta", "age":"21"}
 },
 {
 "id" : 4,
 "primary" : {"name":"Bapi", "age":"20"},
 "secondary" : {"name":"Tapi", "age":"25"}
 },
 {
 "id" : 5,
 "primary" : {"name":"John", "age":"20"},
 "secondary" : {"name":"LINDA", "age":"23"}
 },
 {
 "id" : 6,
 "primary" : {"name":"SMITH", "age":"20"},
 "secondary" : {"name":"KATE", "age":"25"}
 },
 {
 "id" : 7,
 "primary" : {"name":"Sandeep", "age":"20"},
 "secondary" : {"name":"Sumanta", "age":"21"}
 },
 {
 "id" : 8,
 "primary" : {"name":"Bapi", "age":"20"},
 "secondary" : {"name":"Tapi", "age":"25"}
 },
 {
 "id" : 1,
 "primary" : {"name":"John", "age":"20"},
 "secondary" : {"name":"LINDA", "age":"23"}
 },
 {
 "id" : 2,
 "primary" : {"name":"SMITH", "age":"20"},
 "secondary" : {"name":"KATE", "age":"25"}
 },
 {
 "id" : 3,
 "primary" : {"name":"Sandeep", "age":"20"},
 "secondary" : {"name":"Sumanta", "age":"21"}
 },
 {
 "id" : 4,
 "primary" : {"name":"Bapi", "age":"20"},
 "secondary" : {"name":"Tapi", "age":"25"}
 },
 {
 "id" : 5,
 "primary" : {"name":"John", "age":"20"},
 "secondary" : {"name":"LINDA", "age":"23"}
 },
 {
 "id" : 6,
 "primary" : {"name":"SMITH", "age":"20"},
 "secondary" : {"name":"KATE", "age":"25"}
 },
 {
 "id" : 7,
 "primary" : {"name":"Sandeep", "age":"20"},
 "secondary" : {"name":"Sumanta", "age":"21"}
 },
 {
 "id" : 8,
 "primary" : {"name":"Bapi", "age":"20"},
 "secondary" : {"name":"Tapi", "age":"25"}
 }
 ]
}
  • The package.json file contains the dependencies for the example.The content of package.json file are as follows:-
{
 "name": "NgTableDemo",
 "version": "0.0.1",
 "description": "NgTableDemo",
 "dependencies": {
 "angular": "^1.4.4",
 "bootstrap": "^3.3.5",
 "ng-table": "^0.5.4"
 }
}
  • The demo.html file contains the code for rendering table .the content of demo.html file are as follows:-
<!DOCTYPE html>
<html lang="en" ng-app="app">
<head>
 <meta charset="UTF-8">
 <title>ng-table demo</title>
 <link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
 <link rel="stylesheet" href="node_modules/ng-table/dist/ng-table.min.css">
</head>
<body ng-controller="MainCtrl" class="container">
 <table ng-table="tableParams" class="table table-bordered" >
 <thead>
 <tr>
 <th rowspan="2">ID</th>
 <th colspan="2">primary</th>
 <th colspan="2">secondary</th>
 </tr>
 <tr>
 <th>NAME</th>
 <th>AGE</th>
 <th>NAME</th>
 <th>AGE</th>
 </tr>
 <thead>
 <tbody>
 <tr ng-repeat="person in $data">
 <td data-title="'id'" >
 {{person.id}}
 </td>
 <td data-title="'Name'">
 {{person.primary.name}}
 </td>
 <td data-title="'Age'">
 {{person.primary.age}}
 </td>
 <td data-title="'Name'">
 {{person.secondary.name}}
 </td>
 <td data-title="'Age'">
 {{person.secondary.age}}
 </td>
 </tr>
 </tbody>
 </tbody>
 </table>
</body>
<script src="node_modules/angular/angular.min.js"></script>
<script src="node_modules/ng-table/dist/ng-table.min.js"></script>
<script src="app.js"></script>
</html>
  • The app.js contains the code for the initializing the ngTable instance.The content of app.js file are as follows:-
var app = angular.module('app', ['ngTable']);
app.controller('MainCtrl', ['$scope', '$http','ngTableParams' ,
 function ($scope, $http, ngTableParams) {
 var tableData = []
 //Table configuration
 $scope.tableParams = new ngTableParams({
 page: 1,
 count: 6
 },{
 total:tableData.length,
 //Returns the data for rendering
 getData : function($defer,params){
 $http.get('data.json').then(function(response) {
 tableData = response.data.person;
 $defer.resolve(tableData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
 params.total(tableData.length);
 });
 }
 });
}]);
  • The output of code looks like following screenshot.

image

  • The demo code can be found in the following GitHub link:-

https://github.com/saan1984/NgTableDemo

Desktop Application Development With Electron persistent collections With ImmutableJS Part 1
Sandeep Patel
10 years ago angularjs 35,447

AltStyle によって変換されたページ (->オリジナル) /