Ver Mensaje Individual
  #8  
Antiguo 01-03-2005
Sick boy Sick boy is offline
Miembro
 
Registrado: may 2003
Ubicación: Cantabria
Posts: 245
Reputación: 22
Sick boy Va por buen camino
Pensaba que eran tablas de paradox !!!!

Cita:
Si necesitas conocer el número de filas, tienes que hacer un sql con count(*) y el mismo ORDER BY.
Creo que no necesita conocer el numero de filas, sino en que fila esta en ese momento.
Si se tratase de ir al ultimo registro, un query.last (ojo, si estas en una red y la cantidad de datos es grande esto seria un desastre) seria suficiente.

Hay otra forma de obtener las propiedades col y row sin recompilar las fuentes.

Precisamente ayer estuve leyendo este articulo de Ian:
http://www.marteens.com/trick48.htm

.....Por desgracia, no de forma directa. Si se tratase de un TDrawGrid o un TStringGrid podríamos calcular el número de fila y columna de la celda que se encuentra bajo el ratón. Tratándose de un TDBGrid, en cambio, no existen métodos públicos (al menos que yo conozca) que identifiquen el registro que se está mostrando en determinada fila. Por suerte existe un truco que, combinando varios métodos protegidos de TDBGrid permiten seleccionar una fila dada partiendo de unas coordenadas del ratón. Primero tenemos que ganar acceso a la sección protegida de TDBGrid, y la forma indicada consiste en definir una clase en la misma unidad donde programaremos la función de localización:

type
TGridHack = class(TDBGrid);

Existe una regla en Delphi que permite el acceso a la sección protegido de cualquier clase definida dentro de la misma unidad. TDBGrid está definida en otra unidad, pero nuestro invento, TGridHack, tiene la misma estructura que su ancestro y sí compartirá unidad con nuestro código. Por lo tanto, tenemos acceso a sus declaraciones protegidas, que lógicamente son las mismas heredades de TDBGrid, su ancestro inmediato.

Bueno, yo no lo he utilizado para el ejemplo que indican en esa web, más bien lo que buscaba era otra propiedad, pero funcionaba bien y sencillo.

Saludos
Responder Con Cita