计算 Aggrid Angular2 中的行数

Count rows in Aggrid Angular2

当我对数据收费时,行显示 0 总计 0 selects,但是如果我 select 1 行,那么我可以看到 4 行 1select,我看不到理解为什么申请费用不计算行数..

onGridReady(params) {
    this.gridApi = params.api;
    this.gridColumnApi = params.columnApi;

    this.http.get(this.config.getUrl('myProject')).subscribe(data => {
      this.columnDefs = data['headers'];
      this.rowData = data['datas'];
      this.countOnSelectionChanged(); //here
    });
    params.api.sizeColumnsToFit();
  }

我检查加入函数console.log and totalResults = 0

countOnSelectionChanged() {
    console.log('here');
    this.selectedResults = this.gridApi.getSelectedRows().length;

    this.totalResults = this.gridApi.getDisplayedRowCount();

    console.log('totalResults', this.totalResults);
    console.log('selectedResults', this.selectedResults);
  }

然后当我点击复选框时

 onSelectionChanged() {
    this.countOnSelectionChanged();
    this.enableAssociatedActions();
  }

我再次调用函数 countOnSelectionChanged,现在,totalResults = 4。

谢谢。

如果我没理解错的话,你的问题是加载数据后行计数直接显示“总计为 0”。
我认为 api 还没有准备好,即当您第一次调用 this.gridApi.getDisplayedRowCount() 时网格不显示数据。您可以改为侦听 rowDataChanged 网格事件,然后调用此方法。
Documentation:
rowDataChanged:客户端已使用 api.setRowData() 或更改 rowData 绑定 属性.

将新数据设置到网格中

模板:

<ag-grid-angular (rowDataChanged)="countDisplayedRows($event)">
</ag-grid-angular>

ts:

countDisplayedRows(params) {
  this.totalResults = params.api.getDisplayedRowCount();
}