Это sortChanged
, а не sortChange
(имеет объявление).
Попробуйте:
printSortStateToConsole() {
var sortState = this.gridApi.getSortModel();
if (sortState.length == 0) {
console.log("No sort active");
} else {
console.log("State of sorting is:");
for (var i = 0; i < sortState.length; i++) {
var item = sortState[i];
console.log(i + " = {colId: " + item.colId + ", sort: " + item.sort + "}");
}
}
}
onGridReady(params: any) {
this.gridApi = params.api;
}
<div style="width: 200px;">
<ag-grid-angular
(sortChanged)="printSortStateToConsole($event)"
(gridReady)="onGridReady($event)"
#agGrid style="width: 100%; height: 200px;"
class="ag-theme-fresh" [gridOptions]="gridOptions">
</ag-grid-angular>
</div>
// Notice the d on the HTML as well.
======== Редактировать ====== ================ Ваш код в порядке, но вы должны заполнить this.gridApi
, когда сетка готова таким образом (проверка (gridReady)
и onGridReady
). Я получаю то, что вы хотите, чтобы войти в консоль таким образом