选中过去的最后一个单元格时自动在ng-grid中添加行

时间:2013-10-10 23:24:31

标签: javascript angularjs ng-grid

我正在构建类似Excel的数据输入表单。它旨在帮助我们的数据录入员快速转录手工填写的纸质表格中的信息。我正在使用AngularJS和ng-grid作为演示和数据层,但是我仍然坚持最后一个要求。

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

有什么想法吗?

1 个答案:

答案 0 :(得分: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;
      }
    };
});