Включить кнопки и пагинатор в нижний колонтитул таблицы материалов - PullRequest
0 голосов
/ 13 сентября 2018

Я использую Angular Material Table, и мне нужна командная кнопка и нумератор таблицы в строке нижнего колонтитула таблицы, что-то вроде этого enter image description here

Мой код такой на самом деле

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

  <table mat-table [dataSource]="dataSource" multiTemplateDataRows>
    <!-- DataSource's displayedColumns -->
    <ng-container matColumnDef="{{column}}" *ngFor="let column of displayedColumns">
      <th mat-header-cell *matHeaderCellDef> {{column}} </th>
      <td mat-cell *matCellDef="let element"> {{element[column]}} </td>
    </ng-container>


    <!-- Exporter column -->
    <ng-container matColumnDef="exporter">
      <td mat-footer-cell *matFooterCellDef colspan="2">
        <button class="btn btn-primary" (click)="exportCsv(dataSource)">
          <i class="material-icons" title="Exporter en CSV">save_alt </i>
        </button>
      </td>
    </ng-container>

    <!-- Paginator column -->
    <ng-container matColumnDef="paginator">
      <td mat-footer-cell *matFooterCellDef colspan="3">
        <mat-paginator [pageSizeOptions]="[5,10,20]" showFirstLastButtons></mat-paginator>
      </td>
    </ng-container>

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

    <tr mat-footer-row *matFooterRowDef="['exporter', 'paginator']"></tr>

  </table>
</div>

Как вы можете видеть, я переместил элемент <mat-paginator> внутри td ... Но это сломало нумератор страниц, так как оно больше не разбивало на таблицы ... (вы видите "0 из0 "и отключить кнопки нумерации страниц) ... когда я возвращаю его за пределы элемента table, нумератор страниц возвращается в нормальное состояние ...

Как правильно разместить пагинатор внутри строки нижнего колонтитула?

Ответы [ 3 ]

0 голосов
/ 29 ноября 2018

Добавив width: 100% в mat-paginator, вы получите этот дизайн.пример:.

0 голосов
/ 30 ноября 2018

Я решил эту проблему, назначив paginator моего источника данных в ngAfterViewInit():

ngAfterViewInit(): void {
  this.tableDataSource.paginator = this.paginator;
}
0 голосов
/ 13 сентября 2018

Наконец, я использовал панель инструментов, если у кого-то есть такая же проблема:

  </table>

  <mat-toolbar>
    <mat-toolbar-row>
      <mat-icon (click)="exportCsv(dataSource)" title="Export as CSV">save_alt</mat-icon>
      <span class="example-spacer"></span>
      <mat-paginator class="paginator" [pageSizeOptions]="[5, 10, 20]"></mat-paginator>
    </mat-toolbar-row>
  </mat-toolbar>

</div>

, который дал: enter image description here

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