Fecha actual Mié Jun 26, 2024 1:07 pm

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 7 mensajes ] 
Autor Mensaje
NotaPublicado: Mar Ene 31, 2006 2:04 pm 
Bruno
Aca te paso un ejemplo de un Grid conectado a un DBF con su indice, si aplicas filtros calcula mal la cantidad de celdas a mostrar, y tambien cual es la primera fila.
Por favor si tenes alguna forma de recalcular esos valores te lo voy a agradecer.


Adjuntos:
C3.ZIP [46.4 KiB]
296 veces
Arriba
  
Responder citando  
 Asunto: TDBGrid
NotaPublicado: Jue Feb 02, 2006 9:45 pm 
Por favor, este problema no tiene solucion?


Arriba
  
Responder citando  
 Asunto:
NotaPublicado: Vie Feb 03, 2006 12:23 pm 
Site Admin
Avatar de Usuario

Registrado: Jue Oct 06, 2005 10:49 pm
Mensajes: 655
Ubicación: España - Salamanca
Boris,

No es tan sencillo, el grid está optimizado para usar índices, en el momento que metas filtros no funcionará, es más complejo de lo que parece y arreglarlo requerirá algo más de tiempo.

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
 Asunto: TDbGrid
NotaPublicado: Jue Feb 09, 2006 2:20 pm 

Registrado: Jue Ene 26, 2006 9:28 pm
Mensajes: 74
Hola Boris,

Yo lo que hago para solventarlo de momento es; cuando aplico un filtro, rehacer el indice indicando en la clausula For la misma condicion que el filtro que estoy aplicando. Te adjunto tu mismo ejemplo modificado para que lo veas mejor. A mi me funciona perfectamente con las tablas que yo manejo (aprox. 2000 registros). El "problema" seria indexar tablas con muchos miles de registros.


Adjuntos:
C3.rar [198.03 KiB]
278 veces
Arriba
 Perfil  
Responder citando  
 Asunto: TDbGrid
NotaPublicado: Jue Feb 09, 2006 2:42 pm 

Registrado: Jue Ene 26, 2006 9:28 pm
Mensajes: 74
Hola de nuevo, El TDbGrid coge el numero de registros del indice, pues en este caso lo que conseguimos es que el indice procese los mismo registros que los que quedan visibles por el filtro.

he aprovechado para hacer unas pruebas de velocidad con tu propia tabla. Te paso tu mismo ejemplo ya modificado pero con 31504 registros en la tabla. Juzga por ti mismo la velocidad a la que regenera el indice. Logicamente esto tambien dependera de la complejidad del filtro y por supuesto del equipo que utilices.

Espero que te sea de utilidad
Un Saludo


Adjuntos:
C3.rar [85.95 KiB]
290 veces
Arriba
 Perfil  
Responder citando  
 Asunto: DbGrid
NotaPublicado: Jue Feb 09, 2006 3:26 pm 
Avatar de Usuario

Registrado: Dom Nov 20, 2005 11:26 am
Mensajes: 29
Por si puede ser de ayuda.
Habeis provado con los SCOPE ?.


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Jue Feb 09, 2006 4:00 pm 
Site Admin
Avatar de Usuario

Registrado: Jue Oct 06, 2005 10:49 pm
Mensajes: 655
Ubicación: España - Salamanca
Hola,

Voy a tratar de modificar la clase TDbGrid para detectar si hay filtros activos y en el caso de que los haya operar de manera distinta.

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 7 mensajes ] 

Todos los horarios son UTC + 1 hora [ DST ]


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a:  
cron