角材料表多个粘性行

时间:2020-01-03 02:56:00

标签: angular angular-material

根据官方文档,我们可以在sticky中的sticky header行中使用mat-table输入。但是我需要使垫子表的前3行保持粘性。有什么办法吗?

<div class="example-container 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; sticky: true"></tr>
    <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
  </table>
</div>

1 个答案:

答案 0 :(得分:2)

如何为前2行(在粘性标题中需要)创建一个数组,然后可以从实际数据集中删除这2行(使用matplot(t(data.frame(HBA1Cpre,HBA1Cpost)), type="b", xaxt="n", pch=19, col=1, lty=1, ylab="HBAIC(%)") )...

相关的 HTML

shift()

相关的 TS

<div class="example-container mat-elevation-z8">
  <table mat-table [dataSource]="dataSource">

    <!-- Position Column -->
    <ng-container matColumnDef="position">
      <th mat-header-cell *matHeaderCellDef> No. 
        <div *ngFor="let data of firstTwoRows; let i = index">
          <p *ngIf="i<2">{{data.position}} </p>
      </div>
     </th>
      <td mat-cell *matCellDef="let element"> {{element.position}} </td>
    </ng-container>

    <!-- Name Column -->
    <ng-container matColumnDef="name">
      <th mat-header-cell *matHeaderCellDef> Name  
        <div *ngFor="let data of firstTwoRows; let i = index">
          <p *ngIf="i<2">{{data.name}} </p>
      </div>
</th>
      <td mat-cell *matCellDef="let element"> {{element.name}} </td>
    </ng-container>

    <!-- Weight Column -->
    <ng-container matColumnDef="weight">
      <th mat-header-cell *matHeaderCellDef> Weight  
        <div *ngFor="let data of firstTwoRows; let i = index">
          <p *ngIf="i<2">{{data.weight}} </p>
      </div>
</th>
      <td mat-cell *matCellDef="let element"> {{element.weight}} </td>
    </ng-container>

    <!-- Symbol Column -->
    <ng-container matColumnDef="symbol">
      <th mat-header-cell *matHeaderCellDef> Symbol  
        <div *ngFor="let data of firstTwoRows; let i = index">
          <p *ngIf="i<2">{{data.symbol}} </p>
      </div>
</th>
      <td mat-cell *matCellDef="let element"> {{element.symbol}} </td>
    </ng-container>

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

完成working stackblitz here

相关问题