当我收取数据时,行显示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.
感谢。
答案 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();
}