AG Grid: как прокрутить прокрутку внизу - PullRequest
1 голос
/ 24 марта 2019

Я использую AG Grid Angular для создания представления журнала, я буду добавлять в сетку много записей в секунду, обычно этот тип представления имеет самую новую запись внизу, поэтому было бы здорово, если бы хороший способ прокрутки внизу, так что я всегда вижу последнюю запись. Бонус будет, если я смогу прокрутить вручную, и прокрутка останется на этой позиции.

1 Ответ

1 голос
/ 20 апреля 2019

Вот один из способов сделать это:

ручка rowDataChanged в вашей разметке:

<ag-grid-angular
  class="ag-dark"
  [rowData]="messages"
  [columnDefs]="columnDefs"
  [gridOptions]="gridOptions"
  (bodyScroll)="handleScroll($event)"
  (rowDataChanged)="handleRowDataChanged($event)">
</ag-grid-angular>

В обработчике для rowDataChanged вызовите ensureVisibleIndex, чтобы перейти к последней добавленной строке:

  gridOptions: GridOptions = {
    suppressScrollOnNewData: true,
  }
  handleRowDataChanged(event) {
    const index = this.messages.length - 1;
    this.gridOptions.api.ensureIndexVisible(index, 'bottom');
  }

Демо-версия: https://stackblitz.com/edit/angular-ag-grid-stuck-to-bottom

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

...