Fecha actual Mar Jul 01, 2025 5:40 pm

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 12 mensajes ] 
Autor Mensaje
NotaPublicado: Mié Nov 09, 2005 4:32 pm 
Bruno...
Gracias al archivo fuente de la clase TDBGrid, he modificado por los problemas con archivos deleteados y filtros, y ahora me funciona barbaro.

Te adjunto el archivo modificado (por si lo queres mirar) y la pregunta del millon es: existe posibilidad que lo agreges a la clase TDBGrid original ? (en lo que a mi respecta, solo me interesa esto para no quedar afuera de alguna posible mejora que le introduzcas a la clase TDBGrid). Otra alternativa sería disponer de los fuentes cada vez que hagas una modificacion (no se si es lo que mas te guste hacer).

Desde ya, me sirvió muchísimo disponer del archivo fuente.

Una ultima pregunta: No me quedo muy en claro para que se utilizan los metodos GetBookMark y SetBookMark, porque los anulé y la clase funcionó perfectamente.

(La clase la renombre como TGesGrid)


Adjuntos:
GesGrid.prg [5.96 KiB]
405 veces
Arriba
  
Responder citando  
NotaPublicado: Mié Nov 09, 2005 4:33 pm 
Bruno...
En el mensaje anterior me saltee el nombre de usuario, pero fui yo quien lo confecciono.

(Desde ya gracias por la atencion)


Arriba
  
Responder citando  
 Asunto:
NotaPublicado: Mié Nov 09, 2005 5:33 pm 
Site Admin
Avatar de Usuario

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

Gracias por tu revisión, la miraré detenidamente :-)

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Mié Nov 09, 2005 5:45 pm 
Site Admin
Avatar de Usuario

Registrado: Jue Oct 06, 2005 10:49 pm
Mensajes: 655
Ubicación: España - Salamanca
He visto los cambios pero no puedo incorporarlos a la clase ya que perdería la ventaja de usar los índices.

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Jue Nov 10, 2005 1:03 am 
Disculpame, mi ignorancia, cuales son las desventajas de las modificaciones que hicimos sobre el TDBGrid


Arriba
  
Responder citando  
 Asunto:
NotaPublicado: Jue Nov 10, 2005 6:22 am 
Site Admin
Avatar de Usuario

Registrado: Jue Oct 06, 2005 10:49 pm
Mensajes: 655
Ubicación: España - Salamanca
En el método DataMoveTo al estar comentado la llamada a OrdKeyGoto para posicionar el registro rápidamente.

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
 Asunto: DBGrid
NotaPublicado: Lun Nov 14, 2005 5:35 pm 
Pero la linea que deje...

( ::FAlias )->( DbGoto( nPosition ) )

tambien accede rápidamente
????


Arriba
  
Responder citando  
 Asunto: Re: DBGrid
NotaPublicado: Lun Nov 14, 2005 6:16 pm 
Site Admin
Avatar de Usuario

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

Boris Chesini escribió:
Pero la linea que deje...

( ::FAlias )->( DbGoto( nPosition ) )

tambien accede rápidamente

Si, accede rápidamente, pero si tienes un índice activo?

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Lun Nov 14, 2005 11:43 pm 
Bruno...
En ese metodo, el indice no importa porque va al registro pasado como parametro nposition.
Tengo tablas con indices y anda barbaro...


Arriba
  
Responder citando  
 Asunto:
NotaPublicado: Mar Nov 15, 2005 8:14 am 
Site Admin
Avatar de Usuario

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

El parámetro nPosition es la posición donde debe posicionarse la base de datos, si no hay índice activo es el propio registro, pero si hay algún índice activo es la posición de la clave.

Haz login en el foro para no aparecer como Invitado.

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Mar Nov 15, 2005 4:40 pm 
Bruno.....
El valor nPositon, con nuestras modificaciones, es el valor del registro segun la posicion en el indice activo, de hecho nuestras aplicaciones tienen indice y no han reportado errores (Acordate que modificamos todos los lugares en donde se referenciaba directamente la posicion del indice).
Desde nuestro punto de vista la unica desventaja con el TDBGrid, es que en el metodo DataRecordCount(), recorremos en el peor de los casos tantos registros como fila tiene el DBgrid en panatalla, (operacion que no se nota en tiempo de ejecucion) pero esta pequeña desventaja es tolerable con respecto a los beneficios de los filtros y registros deleteados.


Arriba
  
Responder citando  
 Asunto:
NotaPublicado: Mar Nov 15, 2005 5:26 pm 
Site Admin
Avatar de Usuario

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

DataMoveTo es llamado internamente cuando se mueve con el ratón la posición de la barra de scroll vertical. Si desplazas la barra a una posición determinada se ejecuta el método y nPosition tiene un valor, por ejemplo, de 134, esto no quiere decir que haya que que ir al registro 134, cosa que hace vuestro código, sino que hay que ir a la posición 134, si no hay índice y no hay filtros activos, coincidirá con el registro 134, en cualquier otro caso el salto será incorrecto, no lo ves?

_________________
Un saludo,
Bruno Cantero
www.c3compiler.com


Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 12 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: