Página 1 de 1

Edicion de Tablas por Columnas . Control de Edici

Publicado: Mié Dic 14, 2005 6:15 pm
por correo
He preparado este pequeño proyecto que os adjunto
Como podreis ver se evalua la 1ª columna al final de la edición de la fila
y no al salir de la misma
Gracias de antemano.
Juanjo.


Attached files tabla.zip (7.3 KB)Â

Edicion de Tablas por Columnas . Control de Edici

Publicado: Mié Dic 14, 2005 6:28 pm
por ignacio
Juan José,
Efectivamente no se evalua el OnPostEdit de la 1ª columna porque usted mismo
por código deshabilita la edición de la misma:
::oBrwTab:aCols[1]:nEditType :=beNone //No Debe editar columna 1
Cuando realice una edición en linea tiene mucho más entido que utilice el
evento OnPostEdit del PROPIO Browse en vez del de las columnas.
Cuando hay edición en linea, los eventos se disparan de la siguiente forma:
1) OnPostEdit en cada columna que REALMENTE ha entrado en edición. Recibe
lAbort, nKey
2) OnPostEdit en el propio Browse. Recibe lAbort, nKey
Tiene igualmente la propiedad TBrowse:lMutiEdit que le indica si la edición
en marcha es del tipo multi-linea o de sólo una columna.
Para ver la documentación al respecto rápidamente, simplemente coloque el
cursor en el evento OnPostEdit dentro del inspector de objetos y pulse F1.
Un saludo,
"Juan José García" <correo@jjgsoft.biz> escribió en el mensaje
news:43a05339$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> He preparado este pequeño proyecto que os adjunto
>
> Como podreis ver se evalua la 1ª columna al final de la edición de la fila
> y no al salir de la misma
>
> Gracias de antemano.
>
> Juanjo.
>
>

Edicion de Tablas por Columnas . Control de Edici

Publicado: Mié Dic 14, 2005 6:50 pm
por correo
Ignacio
1º)
> Efectivamente no se evalua el OnPostEdit de la 1ª columna porque usted
> mismo por código deshabilita la edición de la misma:
>
> ::oBrwTab:aCols[1]:nEditType :=beNone //No Debe editar columna 1
CLARO POR QUE ES EL METODO DE MODIFICACION
SI CUANDO ARRANCAS LA APLICACION REALIZAS UN ALTA EL VALOR DE LA COLUMNA EN
EL IDE ES beGET
Y ENTONCES VERAS QUE SI PERMITE EDITAR LA 1ª COLUMNA ,PERO LA EVALUACION DEL
VALOR SE HACE AL FINAL DE LA LINEA ,ES DECIR EL ON POSTEDIT DE LA COLUMNA NO
SE REALIZA AL TERMINAR LA COLUMNA QUE SERIA LO LOGICO .
2º)
> Cuando realice una edición en linea tiene mucho más entido que utilice el
> evento OnPostEdit del PROPIO Browse en vez del de las columnas.
>
> Cuando hay edición en linea, los eventos se disparan de la siguiente
> forma:
>
> 1) OnPostEdit en cada columna que REALMENTE ha entrado en edición. Recibe
> lAbort, nKey
> 2) OnPostEdit en el propio Browse. Recibe lAbort, nKey
>
> Tiene igualmente la propiedad TBrowse:lMutiEdit que le indica si la
> edición en marcha es del tipo multi-linea o de sólo una columna.
>
> Para ver la documentación al respecto rápidamente, simplemente coloque el
> cursor en el evento OnPostEdit dentro del inspector de objetos y pulse F1.
>
> Un saludo,
>
COMO VES ESTOY EDITANDO DIRECTAMENTE CONTRA UNA BASE DE DATOS ,ESTO
SIGNIFICA QUE DEBO CREAR LOS REGISTROS Y EVALUARLOS A LA VEZ . DEBO HACER LA
EVALUACION DE LA CLAVE CUANDO ESTA SE TECLEA Y NO AL FINAL DE LA LINEA .ESTO
ES PORQUE SI EL REGISTRO YA EXISTE NO TIENE SENTIDO RELLENAR LA INFORMACION
Y CONTROLAR LA EXISTENCIA DESPUES . AL USUARIO NO LE GUSTA METER LOS DATOS
PARA QUE LUEGO EL ORDENADOR LE DIGA QUE YA EXISTIAN .
¿COMO PUEDE QUEDARME EN LA 1ª COLUMNA O SALIR DE LA EDICION SI LA CLAVE YA
EXISTE ?