【发布时间】:2021-09-08 10:22:00
【问题描述】:
我正在尝试使用 AG-Grid 和 Angular 框架默认设置自动调整列大小。所以我用gridColumnApi.autoSizeColumns 和点击事件,它工作正常。但是当我尝试使用 this.autoSizeAll() 和 ngOnInit() 默认设置自动调整列大小时,我得到这个 error Cannot read property 'getAllColumns'
我不知道默认情况下无需单击按钮即可自动调整列大小的最佳方式是什么?
<button (click)="autoSizeAll(false)">Auto-Size All</button>
<ag-grid-angular
style="width: 900px; height: 700px;"
class="ag-theme-balham"
[rowData]="rowData"
[defaultColDef]="defaultColDef"
[columnDefs]="columnDefs"
(firstDataRendered)="onFirstDataRendered($event)"
(gridReady)="onGridReady($event)">
</ag-grid-angular>
ngOnInit(){
this.autoSizeAll();
}
autoSizeAll() {
const allColumnIds = [];
// tslint:disable-next-line:only-arrow-functions
this.gridColumnApi.getAllColumns().forEach(function(column) {
allColumnIds.push(column.colId);
});
this.gridColumnApi.autoSizeColumns(allColumnIds);
}
onGridReady(params) {
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;
this.http
.get(
'https://raw.githubusercontent.com/ag-grid/ag-grid/master/packages/ag-grid-docs/src/olympicWinnersSmall.json'
)
.subscribe(data => {
this.rowData = data;
});
}
}
这里是plunker
【问题讨论】:
标签: angular ag-grid ag-grid-angular