AngularJS和ng-grid – 在单元格更改后自动将数据保存到服务器
发布时间:2020-12-17 08:50:19 所属栏目:安全 来源:网络整理
导读:我的用例很简单。用户在编辑单元格(enableCellEdit:true)后,应该将数据“自动”发送到服务器(单元格模糊)。我尝试了不同的方法,但没有一个正确的解决。我有一个简约的网格: // Configure ng-grid$scope.gridOptions = { data: 'questions',enableCellSel
我的用例很简单。用户在编辑单元格(enableCellEdit:true)后,应该将数据“自动”发送到服务器(单元格模糊)。我尝试了不同的方法,但没有一个正确的解决。我有一个简约的网格:
// Configure ng-grid $scope.gridOptions = { data: 'questions',enableCellSelection: true,selectedItems: $scope.selectedRow,multiSelect: false,columnDefs: [ {field: 'id',displayName: 'Id'},{field: 'name',displayName: 'Name'},{field: 'answers[1].valuePercent',displayName: 'Rural',enableCellEdit: true} ] }; 例如,我试图观察传递给Grid的数据模型。但这样做不会返回我编辑的单元格: $scope.$watch('myData',function (foo) { // myModel.$update() },true); 我试图解开“ngGridEventData”数据事件,但它不会在单元格编辑后触发 $scope.$on('ngGridEventData',function (e,gridId) { // myModel.$update() }); 最后,我试着观察一个Cell。但是,这只对一行的工作是通过网格的“selectedCell”属性的意思: $scope.selectedRow = []; $scope.gridOptions = { selectedItems: $scope.selectedRow,} $scope.$watch('selectedRow',function (foo) { console.log(foo) },true); 是需要ng-grid plugin吗?我不能相信它不是什么开箱即用。 你有一个指针/片段如何解决自动保存/发送到服务器?
也许这是新的,但是ng-grid实际上发布的事件可以用来实现一个简单的更新更改。
事件参考:https://github.com/angular-ui/ng-grid/wiki/Grid-Events 示例代码(添加到您在其中设置网格的控制器): $scope.$on('ngGridEventEndCellEdit',function(evt){ console.log(evt.targetScope.row.entity); // the underlying data bound to the row // Detect changes and send entity to server }); 需要注意的一点是,即使没有进行任何更改,事件也会触发,因此您可能仍然希望在发送到服务器之前检查更改(例如通过“ngGridEventStartCellEdit”) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容