0

我正在尝试使用ag-grid中的分组来显示具有多个级别的资产负债表。它可以工作-但是数据具有null层次结构跳过级别的位置,我想隐藏这些行-例如:

Level0 - Level1 - Level2 - AccountName - Value
Assets  - null   - null   - Cash - $10,000
Liabilities - Payables - Short Term - Invoices - $5,000

所以在我的网格中,Liabilities层次结构看起来不错,但层次结构在和之间Assets有两个null级别。我想隐藏行。见附图:AssetsCashnull

带有空值的资产负债表

我正在尝试使用 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);

            });
    }
})();
4

0 回答 0