当按 Tab 键经过最后一个单元格时,自动在 ng-grid 中添加行

Automatically add row in ng-grid when tabbing past last cell

本文关键字:ng-grid 添加行 Tab 经过 最后一个 单元格 当按      更新时间:2023-09-26

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

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

有什么想法吗?

我能够在选择最后一行时使用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;
      }
    };
});