Je suis un comportement étrange dans l'ag-grille pour angulaire et je ne sais pas si je fais quelque chose de mal ou c'est un bug.ag-grille mauvais ordre de rangée angulaire après l'initialisation
Après l'initialisation aggrid avec
this.gridOptions = {
enableSorting: true,
rowHeight: 50,
suppressDragLeaveHidesColumns: true,
enableColResize: true,
domLayout: 'autoHeight',
rowSelection: 'single',
};
et
<ag-grid-angular
#agGrid
[rowData]="articleArray"
[gridOptions]="gridOptions"
(cellClicked)="showDetails($event)"
(gridReady)="onGridReady()"
(modelUpdated)="onModelUpdated()"
(gridSizeChanged)="sizeToFit()"
></ag-grid-angular>
Et obtenir l'ordre donné lieu de lignes de la grille par
updateArticleOrder() {
const result: string[] = [];
this.gridOptions.api.forEachNodeAfterFilterAndSort(rowNode => result.push(rowNode.data.id));
this.articleOrderChanged$.emit(result);
}
Je remarque que l'ordre est différent du entrée d'origine utilisée dans [rowData]="articleArray"
. Pour être précis, 11 éléments ont été déplacés vers le bas de la grille et la grille commence à l'index d'origine 11. Pourquoi est-ce et comment puis-je l'éviter? Après le tri et updateArticleOrder()
étant appelé à l'intérieur onModelUpdated()
je reçois le bon ordre à nouveau, avec l'index 0 affiché lorsque je clique sur la première rangée.
[EDIT] Je remarque que je reçois ce problème que lors de l'initialisation du réseau. Lorsque mes mises à jour articleArray après la grille est déjà visible, this.gridOptions.api.forEachNodeAfterFilterAndSort
me donne les nouveaux éléments dans le bon ordre.
C'était tout! Merci beaucoup. – Phil