gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:15:13 26 4
gpt4 key购买 nike

我有两个网格,其中的行可供选择。我希望能够将所选行中的数据获取到另一个数据对象中,以便我可以将其传递给后端服务。相关代码如下:

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”部分时,它会返回一个空白数组。

最佳答案

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

关于javascript - 无法使用 Angular UI Grid 获取选定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33151469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com