Power Builder - Validacion de datawindows

 
Vista:

Validacion de datawindows

Publicado por Josue Sequeiros (11 intervenciones) el 19/11/2007 15:26:41
Tengo un problema en mi programacion de datawindows con campos numericos. Deseo que mi campos numerico no acepte el valor 0 y que le salga un mensaje alli, de que debe ingresar un valor mayor a o, ademas que el cursor debe quedarse en ese campo y en esa fila. Lo he intendo pero me sale un error que dice: Item '0' does not pass validation test. Por favor necesito esa ayuda urgente
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

RE:Validacion de datawindows

Publicado por achafio (88 intervenciones) el 19/11/2007 15:46:13
haz lo siguiente:

En Style Type, cambialo a EditMask, luego
en el evento editchanged del dw pones lo siguiente:

Suponiendo q el campo se llame importe,

Long ll_lon
if getcolumnname() = 'importe' then
IF long(data) = 0 THEN
SelectText(row,len(data))
END IF
end if

Cualquier duda solo preguntas.
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

Respuesta

Publicado por Leopoldo Taylhardat (710 intervenciones) el 19/11/2007 19:40:26
Saludos desde Maracay, Venezuela.

Si colocas una validación a la columna en el dw tienes la opción de poner el mensaje en español del error, aparte de eso se queda en la columna aunque no limpie el valor anterior....

En expresión de la validación colocas la expresión que debe ser el valor correcto....
long(GetData()) > 0

En mensaje colocas...
'Error!, el valor debe ser mayor a cero(0)'

con eso te valida, te manda el mensaje y no sale de la columna si hay error...

Espero que te sirva...
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

RE:Respuesta

Publicado por Josue Sequeiros (11 intervenciones) el 20/11/2007 22:13:06
Puse este codigo segun la sugerencia primera pero aun asi me sale el mensaje de error cuando voy a otra fila ya sea con el mouse o con la teclas dentro del datawindows. Diganme que estoy haciendo mal. Lropoldo me dio una sugerencia, pero en donde lo programo en que evento. Ahi les mando mi codigo la columna es un campo decimal no entero. ¿Como hago parta que no me salga el mensaje de error del datawindows 'Item '' does not pass validation test'?no quiero que el enfoque salga de la columna ni siquiera con el mouse. Ahi les mando el codigo que intente hacer. Poir favor ayudenme
if getcolumnname() = 'mae_detalle_doc_impreso_cantidadventa' then
IF dec(data) = 0 THEN
SelectText(row,len(data))
END IF
end if
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

Respuesta

Publicado por Mar (1 intervención) el 10/07/2019 21:56:41
El código correcto para que no slaga ese mensaje es, en el evento del editchanged es asi:

1
2
3
4
5
if getcolumnname() = 'mae_detalle_doc_impreso_cantidadventa' then
    IF dec(data) = 0 THEN
        this.SetItem(1,"mae_detalle_doc_impreso_cantidadventa'",0)
    END IF
end if
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