FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
grid1.onexit vrs grid2.onclick
Les agradeceria me ayudaran con esto...
El caso es el siguiente: Estoy trabajando con Delphi 5 y estoy trabajando con dos grids en la misma forma. A grid1 le hice validaciones en el onexit y el grid2 tiene validaciones en el onclick. El problema es que cuando estoy editando en el grid1 y doy click en el grid2, lo que pasa es que ejecuta primero el evento de grid2.onclick y luego ejecuta grid1.onexit. Pero yo requiero que se ejecute primero el evento del grid1.onexit y dependiendo de las validaciones que se realicen ahi, se ejecute o no el evento del grid2.onclick De nuevo gracias por la ayuda que me puedan brindar.
__________________
Keilly Livey Chinchilla Salas |
#2
|
||||
|
||||
Hola Livey.
Si estás en grid1, al hacer click en otro control, grid1 pierde el foco, por lo tanto se dispara el evento grid1.OnExit. Por lo tanto: Si el foco está en grid1 y hacés click sobre grid2, el orden de disparo de los eventos es: 1. grid1.OnExit 2. grid2.OnClick No veo manera de que se te invierta ese órden... pero habría que ver el código. Saludos. Última edición por ecfisa fecha: 25-08-2010 a las 01:58:41. |
#3
|
||||
|
||||
Hola
Y no depende de lo que se ponga en el evento onexit del dbgrid1 ? Por que ahi se puede poner lo que se quiera, incluso una condicion con respecto al dbgrid2. Me equivoco? Saludos
__________________
Siempre Novato |
#4
|
||||
|
||||
Cita:
Pero no te olvides que para que ese echo suceda, antes tiene que haberse disparado grid1.OnExit. Saludos. Última edición por ecfisa fecha: 25-08-2010 a las 04:56:45. |
#5
|
||||
|
||||
Estube haciendo unas pruebas. Con unos StringGrid y DBGrid ya que no especificas cual usas y siempre se ejecuta el evento OnExit antes del click en el segundo Grid.
Talvez podrias poner parte de tu codigo para que te podamos dar un poco mas de ayuda. |
#6
|
|||
|
|||
Algo que no mencione es que el grid1 esta en un tabsheet y el grid2 esta en la forma como tal.
Si estoy editando en el grid1 y doy click en otro componente que se encuentre en el tabsheet, se ejecuta primero el evento grid1.onclick y luego el evento del click del otro componente, pero no sucede asi si doy click en el grid2, tambien se da en los botones del toolbar; ejecuta primero el evento del click y luego grid1.onclick La medida que tome fue hacer una validación en cada uno de los componente que me genera problemas Código Delphi [-]Function TFPrProy.ValidaDisp(Sender: TObject):Boolean; Begin If (Sender <> GrDistrFond) and ValDisp then Begin GrDistrFond.OnExit(Sender); If not ValDisp then Grid.SetFocus; End; Result := ValDisp; End; Entonces dependiendo lo que retorne esa funcion se ejecuta los eventos del onclick de los diferentes componentes
__________________
Keilly Livey Chinchilla Salas |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cancelar accion de un evento OnExit | FGarcia | Varios | 5 | 11-05-2007 13:38:18 |
Evento 'OnExit' del Form | Wellnic | OOP | 3 | 10-04-2007 19:08:51 |
Problemas con evento OnExit | santi33a | Varios | 4 | 15-04-2006 13:30:50 |
Evento OnExit de un Edit | Caro | OOP | 1 | 03-02-2006 17:57:01 |
OnExit | DarioArg | Varios | 2 | 12-03-2005 02:34:55 |
|