Basic CRUD in Angular JS

Introduction

In my previous article we have demonstrated different stuffs of AngularJS lik how to use expression, models, controllers filters and app. You must have get little bit idea how to work in AngularJS. Now We will do demonstration, to achieve CRUD operation in AngularJS in this article.

Getting Started

CRUD(Create, Retrieve, Update and Delete) operation in AngularJS is very easy as like other applications like WPF, ASP.NET with MVC, and classic ASP.NET. You do have nothing worry about the CRUD operation in AngularJS because it supports Data Binding for more details about Data Binding, please refer to my this article.

As like WPF and MVC AngularJS also supports one way and two way data binding. Hence AngularJS simplified CRUD operation through Data Binding.

Example:-

This demonstrator list outs list of student in a table in page and does CRUD operation with student data. Here we can delete student record, update and can create new student with demonstrate. For more details go through the below code example.
 <HTML ng-app = "myapp">   
 <TITLE>AngularJS: CRUD Operation</TITLE>   
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>   
    <script>   
       var myapp=angular.module("myapp",[]);               
       myapp.controller("myappcont",function($scope){  
             $scope.studentindex=0;  
             $scope.Genders=[{Text:"Male",Value:"Male"},  
                                    {Text:"Female",Value:"Female"}  
                                ];  
           $scope.SNames=[{Text:"A",Value:"A"},  
                                    {Text:"B",Value:"B"},  
                                    {Text:"C",Value:"C"}  
                                ];  
             $scope.student={ID:0,Name:'',Gender:"Male",Class:"1Std",Section:"A"};  
       $scope.students=[   
       {ID:1,Name:"Kailash",Gender:"Male",Class:"1Std",Section:"A"},   
       {ID:2,Name:"Kalyan",Gender:"Male",Class:"1Std",Section:"A"},   
       {ID:3,Name:"Kalyani",Gender:"Female",Class:"1Std",Section:"A"},   
       {ID:4,Name:"Kamal",Gender:"Male",Class:"2Std",Section:"B"},   
       {ID:6,Name:"Keshav",Gender:"Male",Class:"2Std",Section:"B"},   
       {ID:7,Name:"KedarGouri",Gender:"Female",Class:"2Std",Section:"B"}];   
             $scope.edit=function(st){  
                          $scope.studentindex=$scope.students.indexOf(st);  
                          $scope.student.ID=st.ID;  
                          $scope.student.Name=st.Name;  
                          $scope.student.Gender=st.Gender;  
                          $scope.student.Section=st.Section;  
                          $scope.student.Class=st.Class;  
             };  
             $scope.updatestudent=function(){  
                var st={  
                          ID:$scope.student.ID,  
                          Name:$scope.student.Name,  
                          Gender:$scope.student.Gender,  
                          Section:$scope.student.Section,  
                          Class:$scope.student.Class  
                          };  
                if($scope.student.ID>0){  
                          $scope.students.splice($scope.studentindex, 1);  
                          $scope.students.splice($scope.studentindex, 0, st);                      
                     }  
                     else  
                     {  
                     st.ID=$scope.students.length+1;  
                          $scope.students.push(st);}  
                           $scope.clear();  
             };  
             $scope.delete=function(st){  
                 var _index = $scope.students.indexOf(st);   
         $scope.students.splice(_index, 1);   
             };  
             $scope.clear=function(st){  
                $scope.student.ID=0;  
                     $scope.student.Name='';  
                     $scope.student.Gender='Male';  
                     $scope.student.Section='A';  
                     $scope.student.Class='';  
                      $scope.studentindex=0;  
             };  
       });        
    </script>   
    <BODY ng-controller="myappcont">   
       <P>  
       <TABLE>  
       <TR>  
       <TD>Name:</TD>  
       <TD><INPUT TYPE="txt" ng-model="student.Name"/></TD>  
       </TR>  
       <TR>  
       <TD>Gender:</TD>  
       <TD>  
       <SELECT ng-model="student.Gender">  
       <OPTION ng-repeat="g in Genders" value="{{g.Value}}"/>{{g.Text}}</OPTION>  
       </SELECT>  
       </TD>  
       </TR>  
       <TR>  
       <TD>Class:</TD>  
        <TD><INPUT TYPE="txt" ng-model="student.Class"/></TD>  
       </TR>  
       <TR>  
       <TD>Section:</TD>  
       <TD>  
       <SELECT ng-model="student.Section">  
       <OPTION ng-repeat="s in SNames" value="{{s.Value}}"/>{{s.Text}}</OPTION>  
       </SELECT>  
       </TD>  
       </TR>  
       <TR>  
       <TD>  
       </TD>  
       <TD>  
         <button ng-click="updatestudent()">Save</button>   
        <button ng-click="clear()">Clear</button>  
       </TD>  
       </TR>  
       </TABLE>  
       </P>  
       <HR/>  
       <table border="1">   
         <tr>   
            <th>Name</th>   
            <th>Gender</th>   
            <th>Class</th>   
            <th>Section</th>   
                           <th>Action</th>  
         </tr>   
         <tr ng-repeat="student in students | filter:searchText">   
            <td>{{student.Name}}</td>   
            <td>{{student.Gender}}</td>   
            <td>{{student.Class}}</td>   
            <td>{{student.Section}}</td>   
                           <TD>  
         <button ng-click="edit(student)">Edit</button>   
        <button ng-click="delete(student)">Delete</button>   
       </TD>  
         </tr>   
       </table>   
    </BODY>   
  </HTML>   

Summary

This article demonstrated how to achieve CRUD (Create,Retrieve,Update and Delete) operation in AngularJS, hope this article may helpful to you. Happy coding and enjoy.....

Thanks

Kailash Chandra Behera

An IT Professional with 12 years experience in development life cycle in windows, service and Web based application using Microsoft.Net technologies. Proven record of developing all phases of projects in Microsoft.Net technology from initiation to closure aligning with the company's Business objectives to drive process improvements, competitive advantage and bottom-line gains. -> Good exposure of independently working and developing multiple projects ->Committed to efficient and effective development of projects in a fast-paced and deadline driver environment. Skill :- Develop and design projects in various technologies of Microsoft Technology. Total IT Experience- 13+

Previous Post Next Post

نموذج الاتصال