将数据加载到网格后,没有滚动条显示

时间:2019-02-05 17:11:50

标签: angular scrollbar ag-grid ag-grid-angular

我在我的角度应用程序中实现ag-grid遇到麻烦。我可以将数据加载到网格,但是当加载数据集时,没有滚动条。

向右滑动以显示更多列的键盘导航显示空白数据,告诉我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行数据,但无法滚动。对不起,停电。任何人都知道这是怎么回事吗?

no scroll

2 个答案:

答案 0 :(得分:0)

指定div可能溢出。 div应该如下:

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

答案 1 :(得分:0)

所以我认为我做的一切都正确,因为我发现的解决方案是将我的版本从^ 20.0.0回滚到^ 18.1.2。运行“ npm update”后,一切似乎都可以正常工作,而无需更改代码。