Как установить индексный столбец в угловой таблице Mat (dataIndex показывает «NaN») - PullRequest
0 голосов
/ 20 декабря 2018

Мат-стол идеально подходит.Есть ли способ добавить индекс автоинкремента.Мой HTML для кода:

 <div class="mat-elevation-z8">


<table mat-table [dataSource]="dataSource" matSort>

  <ng-container matColumnDef="no">
    <th mat-header-cell *matHeaderCellDef> No </th>
    <td mat-cell *matCellDef="let element; let i = index;"> {{i+1}} </td>
  </ng-container>
  <ng-container matColumnDef="Title">
    <th mat-header-cell *matHeaderCellDef mat-sort-header> Title </th>
    <td mat-cell *matCellDef="let element"> <a (click)="openDescriptionView(element.title, element.imageUrl, element.description)">{{element.title}}</a>
    </td>
  </ng-container>

  <ng-container matColumnDef="destination">
    <th mat-header-cell *matHeaderCellDef mat-sort-header> Destination </th>
    <td mat-cell *matCellDef="let element"> {{element.destination}} </td>
  </ng-container>

  <ng-container matColumnDef="startDate">
    <th mat-header-cell *matHeaderCellDef mat-sort-header> Start Date </th>

    <td mat-cell *matCellDef="let element"> {{element.startDate}}</td>
  </ng-container>

  <ng-container matColumnDef="endDate">
    <th mat-header-cell *matHeaderCellDef mat-sort-header> End Date </th>

    <td mat-cell *matCellDef="let element">{{element.endDate}}</td>
  </ng-container>

  <ng-container matColumnDef="price">
    <th mat-header-cell *matHeaderCellDef mat-sort-header> price </th>
    <td mat-cell *matCellDef="let element">{{element.price}}</td>
  </ng-container>


  <ng-container matColumnDef="setting">
    <th mat-header-cell *matHeaderCellDef> Settings </th>
    <td mat-cell *matCellDef="let element">
      <a class="myIcon" (click)="editOffer(element.id)"><i class="pe-7s-pen"></i></a>
      <a class="myIcon" (click)="deleteOffer(element.id, element.title)"><i class="pe-7s-trash"></i></a>

    </td>
  </ng-container>

  <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
  <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
<mat-paginator [pageSizeOptions]="[10, 20]" showFirstLastButtons></mat-paginator>

Я перехожу на следующую страницу, она начинается снова с одного.Если я показываю 10 элементов на страницу, то после перехода на следующую страницу она начинается с одного вместо одиннадцати.Я также попытался let i = dataIndex, и это показывает 'NaN'.Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Вы можете использовать ячейку, которая вычисляет текущий индекс, как это:

<td mat-cell *matCellDef="let element; let i = index;"> 
  {{paginator.pageIndex * paginator.pageSize + i + 1}} 
</td>

С таким разбивателем на страницы, как:

<mat-paginator #paginator [pageSizeOptions]="[10, 20]" showFirstLastButtons></mat-paginator>

Здесь - это бит стекачто демонстрирует это.

0 голосов
/ 20 декабря 2018

Вы можете установить переменную pageIndex, инициализированную равной единице для первой страницы ... при каждом щелчке «следующая страница» установите для нее значение pageIndex = pageIndex + 10;для каждого клика «задней страницы» установите значение pageIndex = pageIndex - 10;

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