Valores Negativos en DataWindows

Sabes necesito ingresar valores a través de un DataWindow pero de una forma automática es decir si dígito el 5 positivo en la tabla se ingrese como -5 sin necesidad de ingresar el signo menos(-), no se si existe alguna manera si la hay por favor ayudame te estaré muy agradecido.

1 respuesta

Respuesta
1
El datawindow posee un evento que permite explorar el valor ingresado antes de ser integrado al propio datawindow, esto significa que es un paso intermedio entre el valor que integra el usuario, y el que es resuelto como valor final.
Este evento es ITEMCHANGED(), este evento contiene 3 argumentos que denotan toda la información necesaria,
row = indica la fila que en ese momento tiene el foco
dwo = es una clase que contiene la descripción del objeto que en ese momento esta siendo editado.
Data = es el valor que el usuario acaba de ingresar.
Con estos valores podrías hacer lo siguiente.
DECIMAL{2} ldc_valor
CHOOSE CASE LOWER(dwo.name)
CASE 'cantidad'
ldc_valor = DEC(data)
IF (ldc_valor > 0) THEN
ldc_valor = (ldc_valor * -1)
THIS.SetItem(row, 'cantidad', ldc_valor)
END IF
END CHOOSE
RETURN(0)
En el script anterior, he asumido que el datawindow posee un campo o columna llamdada "cantidad", entonces en el evento itemchanged, simplemente pregunto si el objeto que esta siendo editado es "cantidad", y si esto es así, convierto el valor que contiene la variable data, a decimal, y lo integro en la variable ldc_valor, lo ultimo que hago es validar si la variable ldc_valor es mayor a 0, si es así, entonces simplemente la multiplico por -1, convirtiendo el valor positivo en negativo, para concluir, es forzado el valor en ldc_valor a la columna "cantidad"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas