Power Builder - setfocus en campos de un dw external

 
Vista:

setfocus en campos de un dw external

Publicado por Ana María (48 intervenciones) el 28/04/2004 00:25:02
Hola. Estoy trabajando una ventana de captura de información con un datawindow external y estoy validando q el usuario haya insertado toda la información necesaria pero no sé cómo cada vez q se encuentra q falta algún dato el cursor se ubique directamente en el campo q está en blanco.
Gracias por cualquier información q me sea útil.
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
Imágen de perfil de Antonio Magos Pérez
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:setfocus en campos de un dw external

Publicado por Antonio Magos Pérez (1271 intervenciones) el 28/04/2004 02:22:53
Hola Ana:

Mira, yo tengo este script en un evento llamado 'ue_valida' en un botón llamado cb_guardar:

long row = 1
integer colnbr = 0
string colname,ls_msge,ls_campo
is_conti = 'S'
AcceptText ( dw_datos )
Do While row <> 0
colnbr++
if FindRequired( dw_datos,Primary!, row, colnbr, colname, false ) < 0
then exit
if row <> 0 then
ls_campo = Describe(dw_datos,colname+'.tag')
ls_msge = ls_msge+'~n'+'* '+ls_campo
is_conti = 'N'
end if
loop

if is_conti = 'N' then MessageBox('Campos requeridos ...',ls_msge,StopSign! )

Continua...
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
Imágen de perfil de Antonio
Val: 176
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:setfocus en campos (CONTINUA...)

Publicado por Antonio (1271 intervenciones) el 28/04/2004 02:30:12
El ejemplo anterior lo puedes hacer en el boton de cb_guardar en el evento clicked!
TriggerEvent ( this, 'ue_valida' )
la variable is_conti, sirve para que valides si hay campos requeridos, el código valida todos los campos requeridos del DataWindow... Ahora bien, si requieres saber cual campo es el que quieres posesionarte, en el evento del DataWindow ITEMCHANGED pon una variable de instancia llamada is_campo y le asignas el nombre del campo, por ej.:

is_campo = dwo.name

validas el campo requerido y colocas el puntero en ese campo asi:

SetColumn(dw_datos,ls_campo )
Recuerda que todo campo requerido cuando te posesionas en el, PB automáticamente valida y dispara el evento ITEMERROR donde podras este codigo de validacion:

string ls_campo
ls_campo = Describe(this,dwo.Name+'.tag')
MessageBox('Dato Requerido..',ls_campo,Stopsign! )
return 1

Espero sea de ayuda amiga...

¡SUERTE !

Antonio
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