计算Aggrid Angular2中的行数

时间:2018-05-29 08:20:21

标签: angular ag-grid

当我收取数据时,行显示0总计0选择,但如果我选择1行然后我可以看到4行1选择,我不明白为什么当应用程序费用不计算行数时..

<xs:group name="complexTypeModel">
<xs:choice>
  <xs:element ref="xs:simpleContent"/>
  <xs:element ref="xs:complexContent"/>
  <xs:sequence>       
    <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
    <xs:group ref="xs:attrDecls"/>
  </xs:sequence>
</xs:choice>

我检查加入函数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);
  }

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

感谢。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您的问题是行数会显示&#39; 0总计&#39;加载数据后直接 当你第一次打电话给this.gridApi.getDisplayedRowCount()时,我认为api还没有准备就绪,即网格没有显示数据。您可以改为监听rowDataChanged网格事件,然后调用此方法 Documentation
rowDataChanged:客户端使用api.setRowData()或更改rowData绑定属性将新数据设置到网格中。

模板:

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

TS:

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