Cita:
Empezado por mlara
...resulta que mis clientes trabajan sobre rejillas que muestran todos los datos de una consulta... están acostumbrados a ello porque vienen trabajando algunos desde hace ańos con versiones previas del mismo producto
|
En ese caso creo que la solución ya casi la tienes.
Si los clientes ya cargan todos los datos (no discutimos si eso está mejor o peor, ya que comentas que eso es así desde siempre) en tu caso el tema de la ordenación creo que deberías hacerla en memoria, en lugar de volver a lanzar la consulta y hacer la búsqueda posterior con locate.
Se me ocurre que puedes hacerla con un componente intermedio, como ya has comentado anteriormente, sea TClientDataSet u algun otro similar que te gestione esa carga en memoria o si no deseas ese componente te queda la solución de algun Grid que te lo haga; Ahora mismo estoy pensando en el Grid de las Quantum, que hace la función de Grid y de ese componente intermedio, almacenando TODOS los registros en memoria, por lo tanto las reordenaciones posteriores, agrupaciones, filtros y demás operaciones son casi inmediatos, puesto que todos los resultados ya están cargados y se gestionan el local.