Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-03-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question ¿DBGRID recordad posicion del cursor?

Hola

tengo un problema con el dbgrid.

si yo tengo una tabla con 500 clientes y los datos los modifico
al hacer click en el dbgrid.


si me quede editando el cliente ciuyuo id es el 200.
y quiere que al reabrir el programa me muestre el listado.

¿como puedo posicionar el cursor del dbgrid.
en el registro 200. ?

¿hay alguna forma de indicarle al dbgrid que se posicione en el registro
200, o en 100, o en el 5. por codigo. ?

gracias.
Responder Con Cita
  #2  
Antiguo 09-03-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola JXJ.

Cita:
¿hay alguna forma de indicarle al dbgrid que se posicione en el registro
200, o en 100, o en el 5. por codigo. ?
Si, almacenando la posicion en un TBookmarkStr:
Código Delphi [-]
procedure TForm1.DBGridDblClick(Sender: TObject);
begin
  FBookmarkStr:= DBGrid1.DataSource.DataSet.Bookmark;
  ...

Para volver a la posición guardada:
Código Delphi [-]
  DBGrid1.DataSource.DataSet.Bookmark:= FBookmarkStr;

La variable FBookmarkStr de tipo TBookmarkStr podrías declararla privada al form, global o almacenarla segun sea el caso.

El TDBGrid no tiene el evento OnClick quizá te sirva OnDblClick a ese fin.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 09-03-2011 a las 20:04:48.
Responder Con Cita
  #3  
Antiguo 09-03-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Lo primero que debes hacer es guardar el ID del último cliente que estuvo seleccionado. Puedes utilizar distintos métodos para guardar el ID, ya sea que lo guardes en el registro de Windows o en un archivo dentro de la carpeta del usuario.

Cuando vuelvas a ejecutar (abrir) tu programa, lee el ID del último cliente y luego de que abras nuevamente la base de datos, ve al último cliente con la función Locate.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #4  
Antiguo 09-03-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question

Cita:
Empezado por Chris Ver Mensaje
Lo primero que debes hacer es guardar el ID del último cliente que estuvo seleccionado. Puedes utilizar distintos métodos para guardar el ID, ya sea que lo guardes en el registro de Windows o en un archivo dentro de la carpeta del usuario.

Cuando vuelvas a ejecutar (abrir) tu programa, lee el ID del último cliente y luego de que abras nuevamente la base de datos, ve al último cliente con la función Locate.

Saludos,
Chris
super ecfisa

estoy checando esa manera.

la manera de Chris
me intriga.

como usaria locate?

seria asi


MyQuery1.Locate('user_id´);


yo uso un query.
select * from clientes.

en el dbgrid aparecen todos los clientes con su id asi

ID nombre apellidos mail activo
1 juan peres perez juan@perex.com 1
2 juan2 peres2 perez2 juan2@perex.com 0
3 juan3 peres3 perez3 juan3@perex.com 1
4 juan4 peres4 perez4 juan4@perex.com 0
5 juan5 peres5 perez5 juan5@perex.com 1
6 juan6 peres6 perez6 juan6@perex.com 0

10 juan10 peres10 perez10 juan10@perex.com 0

bueno el id guardaro es el 10

solo hago un query asi
MyQuery1.Locate('10');

y el dbgrid se desplara hasta el id 10 ?

se seleccionaria automaticamente esa fila?

ahora mismo lo checo a ver si lo logro aplicar.

gracia.s
Responder Con Cita
  #5  
Antiguo 10-03-2011
ppalmamichi ppalmamichi is offline
Miembro
 
Registrado: abr 2005
Posts: 24
Poder: 0
ppalmamichi Va por buen camino
MyQuery1.Locate('user_id',10,[locaseinsensitive]);

esto colo ca el cursor en el registro con valor de user_id = 10

saludos
__________________
e un mondo dificile
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Saber la posición X-Y del cursor en un edit Sr_Sombrero API de Windows 1 19-06-2006 05:55:49
Posicion del cursor dentro de un field de un dbgrid Kivan Varios 0 14-06-2005 12:37:34
Posicion cursor DBGrid en pantalla aram2r OOP 2 10-03-2005 16:11:09
Conocer posición del Cursor en un DBGrid gluglu Varios 1 14-02-2005 14:46:07
posición cursor en un tedit mosorio OOP 1 02-07-2003 23:35:07


La franja horaria es GMT +2. Ahora son las 15:41:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi