角度ui网格行选择

时间:2017-02-11 18:30:34

标签: angularjs ui-grid

我尝试遵循的每个例子都给出了同样的错误。我想点击一行,让它路由到包含该数据的页面。但我甚至无法点击行进行注册。

我的精简控制器:

var CanadaApp = angular.module('CanadaApp', [ "ui.router", "ui.bootstrap", "ui.grid", "ui.grid.selection" ]);

CanadaApp.controller('mainController', ['$scope', 'dataService', 'uiGridConstants', function($scope, dataService,  uiGridConstants) {

    $scope.gridOptions = {
        enableFiltering: false,
        enableRowSelection: true, 
        onRegisterApi: function(gridApi){
            $scope.gridApi = gridApi;
            $scope.gridApi.grid.registerRowsProcessor( $scope.singleFilter, 200 );

            gridApi.selection.on.rowSelectionChanged($scope,function(row){
                var msg = 'row selected ' + row.isSelected;
                $log.log(msg);
            });                
        },
        columnDefs: [
            { field: 'name' },
            { field: 'population' },
        ]
    };        
}]);

无论我阅读哪些文档或我遵循的示例,我都会

**TypeError: Cannot read property 'on' of undefined**

在线:

gridApi.selection.on.rowSelectionChanged

坦率地说,我不明白为什么它会将gridApi分配给$ scope.gridApi,然后更改网格Api,但这就是示例一遍又一遍地显示的内容:

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

http://ui-grid.info/docs/#/tutorial/205_row_editable

(我实际上计划根据行ID路由到另一个页面,这是另一个蜡球。)

1 个答案:

答案 0 :(得分:0)

ui.grid.selection中注册app.js后,错误对我来说消失了