2

我正在构建一个类似 Excel 的数据输入表单。它旨在帮助我们的数据录入员从手工填写的纸质表格中快速转录信息。我将 AngularJS 和 ng-grid 用于表示层和数据层,但我遇到了最后一个要求。

基本上,当用户通过最后一行的最后一个单元格时,我希望自动添加一个新行。我已经尝试捕获该afterSelectionChange事件,但这似乎并没有触发,因为我实际上并没有在最后更改行。

有什么想法吗?

4

1 回答 1

4

选择最后一行时,我能够使用 beforeSelectionChange 添加新行。

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

// main.js
var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope,$log) {
    $scope.myData = [{name: "Moroni", age: 50},
                     {name: "Tiancum", age: 43},
                     {name: "Jacob", age: 27},
                     {name: "Nephi", age: 29},
                     {name: "Enos", age: 34}];
    $scope.gridOptions = { 
      data: 'myData' ,
      enableCellEdit:true,
      enableCellSelection:true,
      beforeSelectionChange:function(a1){
        if(a1.rowIndex===$scope.myData.length-1){
          $scope.myData.push({name:"new",age:"0"});
        }
        return true;
      }
    };
});
于 2013-10-11T00:23:33.577 回答