Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-04-2010
sizne sizne is offline
Miembro
 
Registrado: mar 2010
Posts: 104
Poder: 15
sizne Va por buen camino
Foco seleccionado que se mantenga

Hola.
Por favor preciso su ayuda.
Tengo lo siguiente AdoQuery1 como MasterSource (Qinscripcion:IdE,CiE,NombreE,Ape....etc); AdoTable1 (Tmateria:IdM,IdE,NombreM,Sigla....etc..)
Tengo Dos Dbgrid: I relacionado con el DataSource1 del Qinscripcion y el otro M relacionado con el DataSource2 de Tmateria.
Estos DBGrids se encuentran en el Form Facademico.

Estoy usando este codigo para regresar de un Form (Finscripcion) a otro Form (Facademico).
Código Delphi [-]
procedure TFinscripcion.VolverClick(Sender: TObject);
begin
  Finscripcion.Close;
  Facademico.I.Fields[1].FocusControl;//El DBGrid se llama I
  Facademico.Show;
end;

Pero siempre que regreso en el DBGrid me muestra el primer registro y no así el que recien agregué, como deberia ser. Y como yo quiero que muestre, siempre el que ingresé, osea el último registro.

Entonces en el foro me ayudaron y coloqué:
Código Delphi [-]
procedure TFinscripcion.VolverClick(Sender: TObject);
begin
  Finscripcion.Close;
  Facademico.DSQinscripcion.DataSet.Last;
  Facademico.Show;
end;

También coloqué:
Código Delphi [-]
procedure TFinscripcion.VolverClick(Sender: TObject);
begin
  Finscripcion.Close;
  Facademico.I.DataSource.DataSet.Last;//DBGrid se llama I
  Facademico.Show;
end;

Por si fuera pasable lo anterior....
Selecciono un registro del DBGrid I, digamos el registro IdE= 5, para este registro ingreso datos osea me dirijo al Form Fmateria, los datos ingresados muestran en el DBGrid M.
En cuanto regreso al Facademico, en el DBGrid I, no muestra el que antes habia seleccionado, sino muestra el PRIMER registro seleccionado, cuando deberia de haberse quedado en el registro seleccionado osea todo el registro IdE=5 como lo estaba...
De igual manera intente con los códigos mencionado....

Donde esta el fallo, alguien podria ayudarme...por favor....
Responder Con Cita
  #2  
Antiguo 26-04-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 922
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Asi a simple vista lo que se me ocurre es que puedes tener alguna instruccion en el OnShow del Facademico que este enviando el puntero del registro al inicio, tambien puede ser que estes abriendo la consulta en este evento...

Podrias chequear si existe algun codigo en el OnShow del formulario Facademico...

Saludos.
Responder Con Cita
  #3  
Antiguo 26-04-2010
sizne sizne is offline
Miembro
 
Registrado: mar 2010
Posts: 104
Poder: 15
sizne Va por buen camino
Cita:
Empezado por cloayza Ver Mensaje
Asi a simple vista lo que se me ocurre es que puedes tener alguna instruccion en el OnShow del Facademico que este enviando el puntero del registro al inicio, tambien puede ser que estes abriendo la consulta en este evento...

Podrias chequear si existe algun codigo en el OnShow del formulario Facademico...

Saludos.
Hola cloayza, gracias por responder. Te comento que no estoy usando OnShow no sé cómo podría solucionar....

Gracias de todas maneras.

Saludos
Responder Con Cita
  #4  
Antiguo 26-04-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 922
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Al parecer al salir del formulario inscripcion estas ejecutando alguna accion que cambia el cursor de registro seleccionado en I.

Verifica que haces al cerrar o salir de Finscripcion.

Otra alternativa seria que en el evento OnShow de Finscripcion, guardes el puntero al registro actual con la funcion getBookmark...y en el OnClose del form FIncripcion restaure la posicion del registro.

Por ejemplo


Código Delphi [-]
public
    RegistroActual:TBookmark;
...
  
procedure TFinscripcion.OnShow(Sender: TObject);
begin
      RegistroActual:=Facademico.I.DataSource.DataSet.GetBookmark;
end;

procedure TFinscripcion.OnClose(Sender: TObject);
begin
      Facademico.I.DataSource.DataSet.GotoBookmark(RegistroActual);
end;

Saludos
Responder Con Cita
  #5  
Antiguo 29-04-2010
sizne sizne is offline
Miembro
 
Registrado: mar 2010
Posts: 104
Poder: 15
sizne Va por buen camino
Hola cloayza! Gracias por tu cooperación.
Sabes me aparecio el siguiente mensaje en cuanto puse el código que me sugeriste...
Cita:
[Warning]Uinscripcion.pas(88): Unsafe type 'TBookmark'
[Warning]Uinscripcion.pas(280): Unsafe type 'RegistroActual:Pointer'
[Warning]Uinscripcion.pas(286): Unsafe type 'RegistroActual:Pointer'
Si coloqué donde me dijiste...no sé por que me aparecio ese msj.
Por fa ayuda.
Saludos
Responder Con Cita
  #6  
Antiguo 30-04-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 922
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
En cual de las dos procedimientos te arrojo el error en el OnShow o en OnClose...

Por si acaso agrega la siguiente validacion a OnClose...

Código Delphi [-]
procedure TFinscripcion.OnClose(Sender: TObject);
begin
      If Assigned(RegistroActual) Then
         Facademico.I.DataSource.DataSet.GotoBookmark(RegistroActual);
end;
end;

Saludos cordiales
Responder Con Cita
  #7  
Antiguo 30-04-2010
sizne sizne is offline
Miembro
 
Registrado: mar 2010
Posts: 104
Poder: 15
sizne Va por buen camino
Hola cloayza, te comento que el error ahora me lo enfoca donde declaro en la seccion de public...

Gracias!
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
Renglon seleccionado en DBGRID advancexz Gráficos 1 28-06-2008 00:53:45
TDBComboBox no me sale seleccionado microweb10 Varios 21 16-01-2008 20:34:22
ListBox seleccionado sin tener el foco sakuragi OOP 4 20-07-2006 07:00:19
TAdvStringGrid ¿cual hay seleccionado? eli.vidal Varios 2 19-11-2005 16:26:48
Qué impresora se ha seleccionado? mlara Impresión 2 07-06-2004 20:58:50


La franja horaria es GMT +2. Ahora son las 12:41:09.


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