在材料表头单元格中访问行数据

huangapple go评论63阅读模式
英文:

Access row data in material table header Cell

问题

要访问列中当前行的数据,我们可以使用以下代码:

<mat-cell *matCellDef="let rowdata">{{rowdata.name}}</mat-cell>

但我需要访问标头行上的数据。我们可以这样做吗?

<mat-header-cell *matHeaderCellDef="let rowdata">{{rowdata}}</mat-header-cell>
英文:

To access the data of current row in a column, we can use following code:

 &lt;mat-cell *matCellDef=&quot;let rowdata&quot;&gt;{{rowdata.name}}&lt;/mat-cell&gt;

But I need to access data on header row. Can we do that ? Like this

&lt;mat-header-cell *matHeaderCellDef=&quot;let rowdata&quot; &gt;{{rowdata}}&lt;/mat-header-cell&gt;

答案1

得分: 4

这是不可能的,也没有意义。您有0...n个单元格,所以rowdata取每个单元格的每个元素的值。但您只有一个表头。它唯一能够给您的合理数据是一个包含所有rowdata的数组。

但是,您可以直接访问您传递的底层dataSource

<table mat-table [dataSource]="dataSource" class="mat-elevation-z8">
  <ng-container matColumnDef="someColName">
    <th mat-header-cell *matHeaderCellDef> {{dataSource[0].name}} </th>
    <td mat-cell *matCellDef="let rowdata"> {{rowdata.name}} </td>
  </ng-container>
</table>
英文:

That is not possible - and would not make sense. You have 0...n cells, so rowdata takes the value of each element for each cell. But you only have one table header. The only sensible data it could give you there is an array containing all rowdata.

You could, however, access the underlying dataSource you are passing in directly.

&lt;table mat-table [dataSource]=&quot;dataSource&quot; class=&quot;mat-elevation-z8&quot;&gt;
  &lt;ng-container matColumnDef=&quot;someColName&quot;&gt;
    &lt;th mat-header-cell *matHeaderCellDef&gt; {{dataSource[0].name}} &lt;/th&gt;
    &lt;td mat-cell *matCellDef=&quot;let rowdata&quot;&gt; {{rowdata.name}} &lt;/td&gt;
  &lt;/ng-container
&lt;/table&gt;

huangapple
  • 本文由 发表于 2020年1月4日 01:49:53
  • 转载请务必保留本文链接:https://go.coder-hub.com/59583088.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定