AngularJS Tables

The ng-repeat directive is used to draw tables in AngularJS. Displaying tables with AngularJS is very easy and simple.

Let’s take an example. This example use ng-repeat directive to draw a table.

See this example:

<table>  

   <tr>  

      <th>Name</th>  

      <th>Marks</th>  

   </tr>  

   <tr ng-repeat = "subject in student.subjects">  

      <td>{{ subject.name }}</td>  

      <td>{{ subject.marks }}</td>  

   </tr>  

</table>

Displaying with CSS style

You can also style the tables by using CSS.

See this example:

<style>  

   table, th , td {  

      border: 1px solid grey;  

      border-collapse: collapse;  

      padding: 5px;  

   }  

     

   table tr:nth-child(odd) {  

      background-color: #f2f2f2;  

   }  

  

   table tr:nth-child(even) {  

      background-color: #ffffff;  

   }  

</style>

AngularJS Table example with CSS

<!DOCTYPE html>  

<html>  

   <head>  

      <title>Angular JS Table</title>  

      <script src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>  

        

      <style>  

         table, th , td {  

            border: 1px solid grey;  

            border-collapse: collapse;  

            padding: 5px;  

         }  

           

         table tr:nth-child(odd) {  

            background-color: #f2f2f2;  

         }  

           

         table tr:nth-child(even) {  

            background-color: #ffffff;  

         }  

      </style>  

   </head>  

   <body>  

      <h2>AngularJS Sample Application</h2>  

      <div ng-app = "mainApp" ng-controller = "studentController">  

         <table border = "0">  

            <tr>  

               <td>Enter first name:</td>  

               <td><input type = "text" ng-model = "student.firstName"></td>  

            </tr>  

            <tr>  

               <td>Enter last name: </td>  

               <td>  

                  <input type = "text" ng-model = "student.lastName">  

               </td>  

            </tr>  

            <tr>  

               <td>Name: </td>  

               <td>{{student.fullName()}}</td>  

            </tr>  

            <tr>  

               <td>Subject:</td>  

              <td>  

                  <table>  

                     <tr>  

                        <th>Name</th>.  

                        <th>Marks</th>  

                     </tr>  

                     <tr ng-repeat = "subject in student.subjects">  

                        <td>{{ subject.name }}</td>  

                        <td>{{ subject.marks }}</td>  

                     </tr>  

                  </table>  

               </td>  

                      

            </tr>  

         </table>  

           

      </div>  

        

      <script>  

         var mainApp = angular.module("mainApp", []);  

           

         mainApp.controller('studentController', function($scope) {  

            $scope.student = {  

               firstName: "Rahul",  

               lastName: "Rai",  

               fees:500,  

                 

               subjects:[  

                  {name:'Physics',marks:850},  

                  {name:'Chemistry',marks:80},  

                  {name:'Math',marks:90},  

                  {name:'English',marks:80},  

                  {name:'Hindi',marks:70}  

               ],  

                 

               fullName: function() {  

                  var studentObject;  

                  studentObject = $scope.student;  

                  return studentObject.firstName + " " + studentObject.lastName;  

               }  

            };  

         });  

      </script>  

   </body>  

</html>

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *