计算 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();
}
当我对数据收费时,行显示 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();
}