【发布时间】:2019-10-22 14:21:00
【问题描述】:
我正在使用ngx-datatable 来呈现具有行分组的数据表。
这是 HTML 代码
<ngx-datatable [rows]="data" [loadingIndicator]="loadingIndicator" [groupExpansionDefault]="false"
[groupRowsBy]="'Name'">
<!-- Header Template -->
<ngx-datatable-group-header [rowHeight]="60">
<ng-template let-group="group" let-expanded="expanded" ngx-datatable-group-header-template>
<div class="table-group-header group-header">
<span style="cursor: pointer" [class.datatable-icon-right]="!expanded"
[class.datatable-icon-down]="expanded" (click)="expandGroup(group)">
{{group.key}}
</span>
</div>
</ng-template>
</ngx-datatable-group-header>
<ngx-datatable-column name="Name" [width]="200">
<ng-template let-row="row" ngx-datatable-cell-template>
{{row.name}}
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column name="Cost" [width]="100">
<ng-template let-row="row" ngx-datatable-cell-template>
{{row.cost}}
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column name="Number" [width]="50">
<ng-template let-row="row" ngx-datatable-cell-template>
{{row.number}}
</ng-template>
</ngx-datatable-column>
</ngx-datatable>
这是它的样子
我看到的示例提供了一个将在标题行中呈现的模板。我想要的是标题行中每一列的总和(在图像中标记为红色框)。如何在组标题行中也提供多个列?
我尝试在具有适当宽度的同一单个模板下提供所有值,但问题是模板中 div 的宽度是固定的,并且列大小可以在 ngx-datatable 中更改,因此标题行模板布局不适合(因为我提供了固定宽度)。
这是我的做法
<ngx-datatable-group-header [rowHeight]="60">
<ng-template let-group="group" let-expanded="expanded" ngx-datatable-group-header-template>
<div class="table-group-header group-header">
<span style="cursor: pointer" [class.datatable-icon-right]="!expanded"
[class.datatable-icon-down]="expanded" (click)="expandGroup(group)">
<span style="width: 300px;">
{{group.key}}
</span>
<span style="width: 100px;">
{{sumProperty(group.value, 'cost') | number: 0}}
</span>
<span style="width: 50px;">
{{sumProperty(group.value, 'number')}}
</span>
</span>
</div>
</ng-template>
</ngx-datatable-group-header>
【问题讨论】:
-
找到方法了吗?我有完全相同的问题...
-
还没有,如果有答案会分享答案!!
-
这个问题有解决办法吗???
-
@VictorOrletchi 至少是部分...
标签: angular ngx-datatable