Автоматически добавлять строку в ng-grid при переходе за последнюю ячейку

Я создаю форму ввода данных, подобную Excel. Он разработан, чтобы помочь нашим специалистам по вводу данных быстро расшифровывать информацию из бумажных форм, которые заполняются вручную. Я использую AngularJS и ng-grid для представления и уровня данных, но я застрял на одном последнем требовании.

По сути, когда пользователь переходит за последнюю ячейку в последней строке, я хочу, чтобы новая строка добавлялась автоматически. Я пытался перехватить событие afterSelectionChange, но, похоже, оно не срабатывает, поскольку я фактически не меняю строку в конце.

есть идеи?


person jklemmack    schedule 10.10.2013    source источник


Ответы (1)


Я смог использовать 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;
      }
    };
});
person Lee    schedule 11.10.2013