我有关于columnDefs动态更改的问题。这是我的gridOptions:
columnDefs
$scope.gridOptions = { columnDefs: [], enableFilter: true, rowData: null, rowSelection: 'multiple', rowDeselection: true };
当我从服务器检索数据时:
$scope.customColumns = []; $http.post('/Home/GetProducts', { tableName: 'TABLE_PRODUCT' }).success(function (data) { angular.forEach(data.Columns, function (c) { $scope.customColumns.push( { headerName: c.Name, field: c.Value, width: c.Width } ); }); $scope.gridOptions.columnDefs = $scope.customColumns; $scope.gridOptions.rowData = data.Products; $scope.gridOptions.api.onNewRows(); }).error(function () { });
注意:这里c是来自服务器的列对象。
当动态生成列并将其分配给$ scope.gridOptions.columnDefs时,会出现空白网格,但$scope.customColumns数组会填充有正确生成的列对象。请帮助我解决此错误,或者我做错了什么?
$scope.customColumns
在ag- grid中,gridOptions中的列在网格初始化时使用一次。如果在初始化后更改列,则必须告知网格。这是通过调用gridOptions.api.setColumnDefs()
gridOptions.api.setColumnDefs()
此api方法的详细信息在此处的ag- grid文档中提供。