2014-12-25 51 views
0

我正在使用UI網格編輯單元格功能。我需要將編輯的單元格值更新到數據庫。我怎麼能這樣做。我使用rest api作爲後端。 還我該如何行的控制器
我的工作代碼在UI網格中使用後端休息API保存更新的數據編輯單元格功能

var app = angular.module('app', ['ngTouch', 'ui.grid', 'ui.grid.edit']); 

app.controller('MainCtrl', ['$scope', '$http', function ($scope, $http) { 
    $scope.gridOptions = { }; 

    $scope.gridOptions.columnDefs = [ 
    { name: 'id', enableCellEdit: false}, 
    { name: 'name' }, 
    { name: 'age', displayName: 'Age' , type: 'number', width: '10%' } 
    ]; 


    $http.get('https://cdn.rawgit.com/angular-ui/ui-grid.info/gh-pages/data/500_complex.json') 
    .success(function(data) { 
     $scope.gridOptions.data = data; 
    }); 
}]) 

http://plnkr.co/edit/kAQnXGTn12Z7v8w16RL9?p=preview

回答

2

有被需要的幾件事選擇的列表。 這將用於保存對數據庫的單元格更改。 我不確定如何獲取選定行的列表。

在$ scope.gridOptions包括:

onRegisterApi: function(gridApi){ 
     //set gridApi on scope 
     $scope.gridApi = gridApi; 
     gridApi.rowEdit.on.saveRow($scope, $scope.saveRow); 
    }, 

接下來在你的控制器包括saveRow和saveRowFunction:

$scope.saveRow = function(rowEntity) { 

var promise = $scope.saveRowFunction(rowEntity); 
     $scope.gridApi.rowEdit.setSavePromise(rowEntity, promise); 
    }; 

$scope.saveRowFunction = function(row) { 
     var deferred = $q.defer(); 
     if (row.id == undefined){ 
      $http.post('http://your/api/address/', row).success(deferred.resolve).error(deferred.reject); 

     }else{ 
      //console.log("10 put ID: " + row.id); 
      $http.put('http://your/api/address/' + row.id, row).success(deferred.resolve).error(deferred.reject); 
     } 
     return deferred.promise; 
    }; 
相關問題