Как всегда отображать два типа строк в таблице угловых материалов - PullRequest
0 голосов
/ 21 января 2019

Я создаю таблицу, используя таблицу угловых материалов, и я хочу иметь представление основной детали, где у меня есть строка в качестве мастера (например, поставщик), и под этой строкой я хочу иметь список деталей (дляНапример, список предметов сделки).

Я видел Table with expandable rows из здесь , однако в этом примере необходимо щелкнуть каждую главную строку, чтобы раскрыть детали.

Есть ли возможность всегда показывать строки дополнительных подробностей после каждой основной строки без необходимости щелкать каждую строку-мастер, чтобы раскрыть подробности?

Я пытался использовать предикат when и всегда возвращал true, однакоэто просто показывает подробные строки в каждой из основных строк.Основные строки потеряны.

1 Ответ

0 голосов
/ 21 января 2019

Есть ли возможность всегда показывать дополнительные строки подробностей после каждой основной строки без необходимости щелкать по каждой основной строке, чтобы раскрыть подробности?

Вы всегда можете создать собственную таблицу,предоставляя строки с плотной детализацией, как вам нужно.

Начиная с примера расширяемых строк, я редактировал код, убирая логику отображения и скрытия деталей, поэтому детали всегда видимы:

<table mat-table
       [dataSource]="dataSource" multiTemplateDataRows
       class="mat-elevation-z8">
  <ng-container matColumnDef="{{column}}" *ngFor="let column of columnsToDisplay">
    <th mat-header-cell *matHeaderCellDef> {{column}} </th>
    <td mat-cell *matCellDef="let element"> {{element[column]}} </td>
  </ng-container>

  <!-- Expanded Content Column - The detail row is made up of this one column that spans across all columns -->
  <ng-container matColumnDef="expandedDetail">
    <td mat-cell *matCellDef="let element" [attr.colspan]="columnsToDisplay.length">
      <div class="example-element-detail expanded">
        <div class="example-element-diagram">
          <div class="example-element-position"> {{element.position}} </div>
          <div class="example-element-symbol"> {{element.symbol}} </div>
          <div class="example-element-name"> {{element.name}} </div>
          <div class="example-element-weight"> {{element.weight}} </div>
        </div>
        <div class="example-element-description">
          {{element.description}}
          <span class="example-element-description-attribution"> -- Wikipedia </span>
        </div>
      </div>
    </td>
  </ng-container>

  <tr mat-header-row *matHeaderRowDef="columnsToDisplay"></tr>
  <tr mat-row *matRowDef="let element; columns: columnsToDisplay;"
      class="example-element-row"
      [class.example-expanded-row]="expandedElement === element">
  </tr>
  <tr mat-row *matRowDef="let row; columns: ['expandedDetail']" class="example-detail-row"></tr>
</table>

https://stackblitz.com/edit/angular-rgyuhs?embed=1&file=app/table-expandable-rows-example.html

Обратите внимание, что у div с классом "example-element-detail" также есть "расширенный" класс (который может быть любым другим именем курса) и весь контент, определенный в«extendedDetail» всегда будет отображаться в виде «example-detail-row»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...