Полосы прокрутки не отображаются после загрузки данных в сетку

У меня проблемы с реализацией ag-grid в моем приложении angular. Я могу загружать данные в сетку, но когда я загружаю свой набор данных, полос прокрутки нет.

Навигация с помощью клавиатуры вправо, чтобы открыть больше столбцов, показывает пустые данные, сообщая мне, что ag-grid не понял, что я прокручиваю.

Я следил за всеми руководствами, предоставляемыми ag-grid, а также пробовал инкапсулировать его в <div>. Я могу изменить размер сетки, но не могу прокручивать.

component.css - (there are no global styles applied)
@import "~ag-grid/dist/styles/ag-grid.css";
@import "~ag-grid/dist/styles/ag-theme-balham.css";


component.html - 

<div style="height: 500px; width: 100%">
  <ag-grid-angular
    #agGrid
    style="height: 100%; width: 100%"
    class="ag-theme-balham"
    [rowData]="rowData"
    [columnDefs]="columnDefs"
    (gridReady)='onGridReady($event)'>
  </ag-grid-angular>
</div>


component.ts - 

import {Component, OnInit, ViewChild, ViewEncapsulation} from '@angular/core';
import {GridApi, GridOptions} from 'ag-grid';
import {MyService} from '../../../services/backend-calls/my-service.service';

@Component({
  selector: 'app-my-grid',
  templateUrl: './my-grid.component.html',
  styleUrls: ['./my-grid.component.css'],
  encapsulation: ViewEncapsulation.None
})

export class MyComponent implements OnInit {
  public gridOptions: GridOptions;

  @ViewChild('agGrid') agGrid;

  title = 'app';

  columnDefs = [
    { headerName: 'Column1', field: 'col1' },
    { headerName: 'Column2', field: 'col2' }
  ];

  rowData = [];

  constructor(
    private myService: MyService
  ) {
    this.gridOptions = <GridOptions>{
      context: this,
      rowData: this.rowData,
      columnDefs: this.columnDefs,
    };
  }

  onGridReady(params) {
    this.gridOptions.api = params.api;
    this.gridOptions.columnApi = params.columnApi;
  }

  ngOnInit() {
    this.refreshGridData();
  }

  private refreshGridData() {
    // Propriatary code. Calls MyService to get row data, and updates
    // this.rowData
  }
}

Как видно на скриншоте ниже, полос прокрутки нет. У меня как минимум 500 строк данных, но нет возможности прокручивать. Извините за затемнение. Кто-нибудь знает, что здесь происходит?

без прокрутки


person DCo    schedule 05.02.2019    source источник
comment
Другая возможная проблема заключается в том, что если я не укажу высоту (в пикселях) для внешнего div, весь список не отобразится. Высота в% имеет ту же проблему.   -  person DCo    schedule 05.02.2019
comment
Вот скриншот   -  person DCo    schedule 05.02.2019
comment
На ваш вопрос будет легче ответить с помощью демонстрации, показывающей проблему. Вы можете попробовать начать с этого: plnkr.co/edit/9AzJAMG3w4U7MaANWLe8?p=preview . Или любой другой пример из документации.   -  person thirtydot    schedule 05.02.2019


Ответы (2)


Укажите, что div может переполняться. Div должен быть следующим:

<div style="height: 500px; width: 100%; overflow-y: scroll">

person Peter Kim    schedule 05.02.2019
comment
К сожалению, это не решило проблему, поскольку полосы прокрутки неактивны. - person DCo; 05.02.2019
comment
Да ладно, это не сработает, потому что у вас есть сетка. Что произойдет, если вы поместите overflow-y: scroll как часть ‹ag-grid-angular›? Таким образом, 1_ - person Peter Kim; 05.02.2019
comment
На самом деле то же самое. Показывает затененную полосу. - person DCo; 05.02.2019

Думаю, я все делал правильно, потому что решение, которое я нашел, заключалось в откате моей версии с ^ 20.0.0 на ^ 18.1.2. После запуска «npm update» все, казалось, работало нормально, без изменений кода.

person DCo    schedule 05.02.2019