拆分 Angular 材质表的一列

Posted

技术标签:

【中文标题】拆分 Angular 材质表的一列【英文标题】:Split a column of Angular Material Table 【发布时间】:2021-11-04 00:58:34 【问题描述】:

我正在尝试创建一个自定义 Angular 材料表,更准确地说,将一列拆分为 5 列,如下所示:

No、Name、Weight 和 Symbol 的第一行(共 5 列)代表表格的标题。如何将符号列拆分为 5 列? 我的代码是来自 Angular Material 的代码:

<div class="mat-elevation-z8">
  <table mat-table [dataSource]="dataSource">
    <!-- Position Column -->
    <ng-container matColumnDef="position">
      <th mat-header-cell *matHeaderCellDef>No.</th>
      <td mat-cell *matCellDef="let element"> element.position </td>
    </ng-container>

    <!-- Name Column -->
    <ng-container matColumnDef="name">
      <th mat-header-cell *matHeaderCellDef>Name</th>
      <td mat-cell *matCellDef="let element"> element.name </td>
    </ng-container>

    <!-- Weight Column -->
    <ng-container matColumnDef="weight">
      <th mat-header-cell *matHeaderCellDef>Weight</th>
      <td mat-cell *matCellDef="let element"> element.weight </td>
    </ng-container>

    <!-- Symbol Column -->
    <ng-container matColumnDef="symbol">
      <th mat-header-cell *matHeaderCellDef>Symbol</th>
      <td mat-cell *matCellDef="let element"> element.symbol </td>
    </ng-container>

    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
    <tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
  </table>

  <mat-paginator [pageSizeOptions]="[5, 10, 20]" showFirstLastButtons aria-label="Select page of periodic elements"> </mat-paginator>
</div>

【问题讨论】:

请查看here 【参考方案1】:

这周我不得不做类似的事情,我组建了一个 Stackblitz 来玩玩,并有一些可能有用的工作?

https://stackblitz.com/edit/generic-mat-table-kji9ey?file=src%2Fapp%2Fapp.component.html

关键似乎是为结果列配置带有 colspan 和 rowspan 属性的两个标题行

这个答案也很有用: https://***.com/a/59626423/2928193

【讨论】:

以上是关于拆分 Angular 材质表的一列的主要内容,如果未能解决你的问题,请参考以下文章

如何仅过滤dataTable angular中的一列[重复]

使用 Angular CLI 的 Angular 2 材质

Angular 8 和 Angular 材质:使用 CdkDropList 项拖动滚动

Angular2 Material:Angular 材质输入的自定义验证

如何在 Angular 5 的 Angular 材质 Snackbar 中添加图标

如何从 Angular 材质对话框中获取数据?