Delphi - Obtener numero de fila de un TDBGrid

   
Vista:

Obtener numero de fila de un TDBGrid

Publicado por Juan Rodriguez Sanchez (47 intervenciones) el 27/01/2009 10:24:26
Hola a tod@s!!
Necesito capturar el número de fila que esté seleccionado en mi tdbgrid, ya que debo pasar a la fila justo anterior despues de realizar una acción determinada. Existe alguna función que nos de el número de fila seleccionada en un momento determinado???.

A todos, GRACIAS!!!

SALUDOS!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Delphi
- Código fuente de Delphi
- Cursos de Delphi
- Temas de Delphi
- Chat de Delphi
información
Códigos de Delphi
- Tres en ralla
- GL Lander
- Notepad mejorado

RE:Obtener numero de fila de un TDBGrid

Publicado por Juan Rodriguez Sanchez (47 intervenciones) el 27/01/2009 10:49:52
Hola de Nuevo!!!
He estadu usando el método RecNo del componente qry asociado a mi tdbGrid, pero me da siempre ´-1 ¿POR QUÉEE?, si comprubo los datos de mi qry salen los correctos, pero en cambio ése método siempre devuelve -1,......

A alguien se le ocurre algooo??

MIL GRACIAS...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener numero de fila de un TDBGrid

Publicado por juancho (193 intervenciones) el 27/01/2009 11:16:31
Que componentes utilizas para obtener los datos, es decir un TClientDataSet, TSQLClientDataSet?, en el caso al menos de kylix y estoy seguro de que tambien para el delphi 7 esa funcion no esta implementada en el TSQLQuery. En otros casos deberia de funcionar, a mi siempre me funciono.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener numero de fila de un TDBGrid

Publicado por Juan Rodriguez Sanchez (47 intervenciones) el 27/01/2009 11:24:18
Hola Juancho:
Para sacar los datos uso un compenente de tipo TQuery, el cual ejecuta una sentencia SQL que le paso como parámetro. Entonces, es posible que éste método no esté definido para éste tipo de compenente???,....ufffff. ¿Que componente podría usar entonces? ¿UN TdDataSource??

Muchas Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener numero de fila de un TDBGrid

Publicado por juancho (193 intervenciones) el 27/01/2009 11:35:01
Esta definido pero no implementado lo mismo sucede con RecordCount, puedes usar un TClientDataSet o un TSQLSimpleDataSet depende de la version de delphi con la que estes trabajando, cualquiera de esos con un TDataSource para la conexion a los componentes, en los dos casos siempre uso esa propiedad y no tengo problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener numero de fila de un TDBGrid

Publicado por Juan Rodriguez Sanchez (47 intervenciones) el 27/01/2009 11:39:38
Hola de nuevo, Juancho:
RecordCount si que me devuelve el número de registros de esa Query, por lo tanto puedo comentarte que ése método si que está implementado, al menos en la versión 7 (que es la que yo estoy utilizando). Me va a suponer mucho cambio en mi aplicación el cambiar la forma de tomar los datos que necesito, así que si no puedo obtener el número de fila seleccionado con ése componente (Tquery) optaré por abandonar esa posibilidad y dejarlo como está.

Muchas Gracias, fenómeno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener numero de fila de un TDBGrid

Publicado por Eva (484 intervenciones) el 27/01/2009 21:36:38
Hola:

Del registro donde estars coge en una variable el valor de un campo que no pueda estar repetido (campo llave)...haz la acción que necesites...vuelve a colocarte en el registro que estabas...retrocede un registro.

var
iActual: integer;
begin
//coger registro actual
iActual := DM.IBDSAlumnosCODIALUMNO.AsInteger;
//hacer lo que necesites
....
....
//situarte en el registro que estabas
DM.IBDSAlumnos.Locate('CODIALUMNO',iActual,[]);
//retroceder al anterior registro
DM.IBDSAlumnos.Prior;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Obtener numero de fila de un TDBGrid

Publicado por Juan Rodriguez Sanchez (47 intervenciones) el 28/01/2009 17:30:06
Hola EVA:
MUCHISIMAS GRACIAS!!! FUNCIONA!!!! Desde luego que no tenia ni idea de que existiera el método prior para poder desplazarnos al registro anterior.
Problema resuelto. De nuevo, muchas gracias.

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar