У меня есть две сетки, у которых есть строки, которые я могу выбрать. Я хочу иметь возможность получить данные в выбранных строках в другой объект данных, чтобы я мог передать его в бэкэнд-сервис. Вот соответствующий код:Невозможно получить выделенные строки с помощью Углового интерфейса UI
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', он возвращает пустой массив.