Solución:
De manera típica de AG, ocultan esta información vital en sus documentos:
Método 3 – Datos de fila delta El método delta utiliza el método de datos de fila anterior pero tiene la propiedad deltaRowDataMode = true.
Cuando deltaRowDataMode está activado, la cuadrícula comparará los datos de la nueva fila con los datos de la fila actual y creará un objeto de transacción para usted. Luego, la cuadrícula ejecuta el cambio como una transacción de actualización, manteniendo todas las selecciones de cuadrículas, filtros, etc.
Use esto si desea administrar los datos fuera de la cuadrícula (por ejemplo, en una tienda Redux) y luego deje que la cuadrícula determine qué cambios son necesarios para mantener actualizada la versión de la cuadrícula de los datos.
https://www.ag-grid.com/javascript-grid-data-update/#bulk-updating
En mi opinión, esta debería ser una configuración que siempre use si sus filas tienen una ID única (espero que la tengan, es una buena práctica hacerlo). ColocardeltaRowDataMode
a la verdad y al uso getRowNodeId
para especificar una identificación única para la fila.
Después de eso, su cuadrícula se actualizará de manera mucho más eficiente (solo actualizará lo que se necesita) y no saltará a la parte superior cuando lo haga, ya que no volverá a crear cada fila y celda en la cuadrícula en una actualización.
Por si acaso, también puede agregar el suppressScrollOnNewData
opción, aunque no estoy seguro de si es necesaria si hace lo anterior.