Dynamically Change the Grid Options in angular ui.grid

20,323

Basically you need to use angular.copy() while assigning columnDef to grid, which clones the array and set it to the gridOptions.

Code

 $scope.gridOptions = angular.copy($scope.gridOptions1);
 $http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/500_complex.json')
 .success(function(data) {
   $scope.gridOptions1.data = data;
   $scope.gridOptions2.data = data;
   $scope.grid1();
 });
 $scope.grid1=function(){
   $scope.gridOptions = angular.copy($scope.gridOptions1);
   $scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL);
 }
 $scope.grid2=function(){
   $scope.gridOptions = angular.copy($scope.gridOptions2);
   $scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL);
 }

Working Plunkr

Share:
20,323
vamsikrishnamannem
Author by

vamsikrishnamannem

I am working as a Full-stack developer

Updated on June 11, 2020

Comments

  • vamsikrishnamannem
    vamsikrishnamannem about 4 years

    I have to show two types of gridOptions without using two grid's trying to change the gridOptions dynamically not working(one time working).

    working example http://plnkr.co/edit/4QKGIB?p=preview.

    $scope.grid1=function(){
       $scope.gridOptions = $scope.gridOptions1;
       $scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL);
     }
     $scope.grid2=function(){
       $scope.gridOptions = $scope.gridOptions2;
       $scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL);
     }
    
  • vamsikrishnamannem
    vamsikrishnamannem about 9 years
    Thanks you, if you know it please help stackoverflow.com/questions/29643310/…