繁体   English   中英

无法使用Angular UI Grid获取选定的行

[英]Can't get selected rows with Angular UI Grid

我有两个网格,我可以选择行。 我希望能够将选定行中的数据转换为另一个数据对象,以便将其传递给后端服务。 这是相关代码:

angular.module('gridPanel',['ui.bootstrap','ui.grid', 'ui.grid.edit', 'ui.grid.rowEdit', 'ui.grid.cellNav', 'ui.grid.selection'])
.controller('GridPanelController', function($scope, $log, referenceDataService){

    $scope.nameGrid = {
        enableRowSelection: true,
        enableRowHeaderSelection: false,
        multiSelect: true,
        onRegisterApi: function(gridApi) {
            $scope.gridApiNames= gridApi;
        },
        columnDefs: [
            {name: 'Name', field: 'name'}
            {name: 'Description', field: 'description'}
        ],
        data:[]
    };

    $scope.regionsGrid = {
        enableRowSelection: true,
        enableRowHeaderSelection: false,
        multiSelect: true,
        onRegisterApi: function(gridApi) {
            $scope.gridApiRegions = gridApi;
        },
        columnDefs: [
            {name: 'Region', field: 'region'}
        ],
        data:[]
    };

    referenceDataService.getAllNames().then(function (data){
        $scope.nameGrid.data = data;
    });

    referenceDataService.getRegions().then(function (data){
        $scope.regionsGrid.data = data;
    });

    $scope.debug = function(obj) {
        var dataObj = {
            names: [],
            regions: []
        };

        dataObj.regions = $scope.gridApiRegions.selection.getSelectedRows();
        dataObj.names= $scope.gridApiNames.selection.getSelectedRows();

        $log.log(JSON.stringify(dataObj, null, 4));
    };
});

但是,当我检查日志在控制台中显示的内容时,它向我显示dataObj.regions和dataObj.names都是空白数组。 实际表中的数据显示正常,单击它们时没有任何问题 - 我可以选择多行而不会出现问题。 只有当我点击提交按钮时才会出现问题,该按钮现在指向$ scope.debug,以便我可以查看控制台中的对象。 我在表单中有其他字段,主要是文本字段,当我在控制台日志中单击调试时也显示正常,因此唯一有问题的地方是获取选定的行。 提前致谢!

编辑:另外,当我尝试仅记录'getSelectedRows'部分时,它返回一个空白数组。

发现了问题。 这是因为我在网页的其他地方(在一个模态中)使用相同的网格来显示相同​​的信息。 一旦我制作了两组网格,问题就解决了。 使用两组相同的网格来实现相同目的似乎仍然效率低下,但我想也许这就是它是什么样的东西?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM