ui grid 将更新的单元格数据保存到数据库

2023-12-10

我正在研究 ui 网格编辑单元格功能。我需要使用 REST 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;
        });
    }])

Plunker


将以下内容添加到您的控制器中:

$scope.gridOptions.onRegisterApi = function(gridApi) {
  //set gridApi on scope
  $scope.gridApi = gridApi;
  gridApi.edit.on.afterCellEdit($scope, function(rowEntity, colDef, newValue, oldValue) {
    //Do your REST call here via $http.get or $http.post

    //Alert to show what info about the edit is available
    alert('Column: ' + colDef.name + ' ID: ' + rowEntity.id + ' Name: ' + rowEntity.name + ' Age: ' + rowEntity.age);
  });
};

您拥有有关编辑哪一列的所有信息(在colDef.name)以及单元格的实际值是什么(在rowEntity.xxx).

您现在所要做的就是调用 REST API(为了避免不必要的流量,您还可以比较newValue to oldValue看看内容是否真的被改变)。

您不需要重新加载数据,因为更改已应用到范围。

Find a 叉形插头 here.

你的问题的第二部分:

您的行均不可选择。这可能会变得有点复杂。请针对此问题提出一个新问题(使用新的 Plunker)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ui grid 将更新的单元格数据保存到数据库 的相关文章

随机推荐