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

标签 javascript angularjs ng-grid

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

基本上,当用户点击最后一行的最后一个单元格时,我希望自动添加一个新行。我 try catch 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;
      }
    };
});

关于javascript - 当按 Tab 键过去最后一个单元格时,自动在 ng-grid 中添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19307876/

相关文章:

asp.net-mvc-4 - 带有外部数据和 TypeScript : compile error "Cannot set property ' gridDim' of undefined"的 Ng-grid

javascript - 按索引检索 JSON 对象的属性?

javascript - 根据鼠标移动改变背景颜色

javascript - 识别html代码

javascript - 如何使用 AngularJS 模板呈现 html

angularjs - 将 Protractor 测试移至 async/await(留下 selenium 控制流)

javascript - 访问父 Controller 的实例方法

angularjs - 错误 : [ngModel:nonassign] Expression is non-assignable

javascript - 以 Angular 呈现表中数据的最佳方法

javascript - 什么 webpack 加载器可以解析 html 文件中的 <svg> 元素