我正在尝试使用ag-grid中的分组来显示具有多个级别的资产负债表。它可以工作-但是数据具有null
层次结构跳过级别的位置,我想隐藏这些行-例如:
Level0 - Level1 - Level2 - AccountName - Value Assets - null - null - Cash - $10,000 Liabilities - Payables - Short Term - Invoices - $5,000
所以在我的网格中,Liabilities
层次结构看起来不错,但层次结构在和之间Assets
有两个null
级别。我想隐藏行。见附图:Assets
Cash
null
我正在尝试使用 Niall在这里提到的结构来完成这项工作:
<div ng-grid="gridOptions" ng-show="gridOptions.rowData.length>0"/>
或者:
<div ng-grid="gridOptions" ng-if="gridOptions.rowData.length>0"/>
但是,我rowData
的不是null
,而是groupColumnDef
是。
我需要gridOptions.rowNode.data
在我的ng-if
/中ng-show
吗?不知道如何解决这个问题。
控制器代码如下:
(function () {
'use strict';
angular
.module('app')
.controller('BalShtController', BalShtController);
BalShtController.$inject = ['$scope', '$http'];
function BalShtController($scope, $http) {
$scope.title = 'Balance Sheet';
var columnDefs = [
{ headerName: "No.", field: "GlNumber", sort: 'asc', hide: 'true' },
{ headerName: "Value", field: "Value", cellRenderer: currencyFormat, cellStyle: currencyCssFunc, width: 200 }
];
$scope.gridOptions = {
columnDefs: columnDefs,
rowData: null,
enableFilter: true,
enableColResize: true,
onReady: function () {
$scope.gridOptions.api.sizeColumnsToFit()
},
groupKeys: ['GlPartnerLevel1', 'GlPartnerLevel2', 'GlPartnerLevel3', 'GlPartnerLevel4', 'GlName'],
groupAggFields: ['Value'],
groupDefaultExpanded: 3,
groupIncludeFooter: true,
groupColumnDef: {
headerName: "Detail",
field: "TxTransactionDate",
width: 300,
cellRenderer: {
renderer: 'group',
footerValueGetter: '"Total (" + x + ")"',
padding: 5
}
},
};
$http.get("http://localhost:39016/api/BalanceSheet")
.then(function (res) {
$scope.gridOptions.api.setRowData(res.data);
});
}
})();