2017-05-30 1 views
2

Je veux compter le nombre de lignes sélectionnées mais il semble que onRowClicked ou onRowSelected se passe avant que la ligne sur laquelle je clique soit effectivement sélectionnée.Nombre de lignes sélectionnées dans l'ag-grid

Comment puis-je compter le nombre de lignes lorsque je sélectionne une ligne? Je pensais que c'était le chemin à parcourir.

this.gridOptions.onRowSelected = function (params) { 
    console.log(this.gridOptions.api.getSelectedRows().length) 
    // Prints one less then the number of rows that is selected. 
} 

Répondre

0

Dans un React (avec ES6) projet J'utilise ceci:

onSelectionChanged = debounce((e) => { 
    this.setState({ 
     selectedRows: this.api.getSelectedRows(), 
    }); 
}, 1) 

(this.api est https://www.ag-grid.com/javascript-grid-api/?framework=all#gsc.tab=0)

J'utilise Lodash's debounce pour résoudre un problème de performance si plusieurs lignes sont sélectionnées au en même temps. (Bien après quelques tests rapides, ressemble à ceci a été corrigé dans ag-réseau à un moment donné.)

La version la plus simple pourrait ressembler (non testé):

this.gridOptions.onSelectionChanged = function() { 
    console.log(this.gridOptions.api.getSelectedRows().length); 
}