user2615099
user2615099

Reputation: 79

how to use ng-grid to update cells with $http?

I am new to angular and am trying to make a CRUD app with the ng-grid plugin. I found an example from the web that gets me the info I need, but not a good explanation on how to update the info using a REST route. Here is the code: var cellEditableTemplate = "";

// Configure ng-grid
$scope.gridOptions = {
    data: 'myData',
    enableCellEdit: true,
    multiSelect: false,
    columnDefs: [
        { field: 'Id', displayName: 'Id' },
        { field: 'Name', displayName: 'Name', enableCellEdit: true, editableCellTemplate: cellEditableTemplate },
        { field: 'Description', displayName: 'Description', enableCellEdit: true, editableCellTemplate: cellEditableTemplate }
    ]
};


// Update Entity on the server side
$scope.updateEntity = function (column, row) {
    console.log(row.entity);
    console.log(column.field);
    // code for saving data to the server...
    // row.entity.$update() ... <- the simple case
}

How do I use the following from the example to update my model?

row.entity.$update()

Upvotes: 1

Views: 266

Answers (1)

Gilad Peleg
Gilad Peleg

Reputation: 2010

Inject $http into your controller.

Then in your $scope.updateEntity:

$scope.updateEntity = function() {
   $http.get('getDataFromServerUrl').success(function(data) {
         //update data
         $scope.gridOptions.data = data;
        }).error(function(err) {
           console.log('Error getting data', err);
        });
 }

and then your data will be updated, as $http activate the $digest cycle.

Upvotes: 1

Related Questions