Sumar campos del DW

Ahora recurro nuevamente a vos, tengo una duda necesito saber como hago para hacer operaciones matemáticas como sumar, restar, etc en los campos del data windows y así asignarle el total de una suma a otro campo del data windows mientras estoy digitando..
Por ejemplo:
En una data windows tengo 3 campos, 1er campo numero1, 2do campo numero 2, 3er campo total
la suma de los 2 campos asignarle al campo total y guardarlo en una base de datos.
Mi dw es del tipo grid. Y es de la siguiente forma:
Nombre Apellido Puntaje1 Puntaje2 TotalPuntaje
pepito perez 5 4 9
  Jose perz 1 3 4
Cabe mencionar que los datos apellido y nombre se carga automáticamente, lo que voy cargando manualmentes on puntaje1 y puntaje dos.
Lo que estoy necesitando es que al tipear todo el puntaje2, automáticamente aparezca el resultado en el campo Totalpuntaje. El resultado de la suman de puntaje1 y dos. Intente hacer en el evetno itemchanged del Dw, donde
con el var1= getitem
             var2= getiem
luego setitem en la columna total puntaje, pero no me salio no se porque,
Luego intente hacer en el mismo evento pero con
if this.getcolumname = 'puntaje1'then
     var1 =data
end if
if this.getcolumname = 'puntaje2'then
var12 =data
end if
sum = var1+var2
y por ultimo el dw_1.setitem(getrow(),"puntototal", sum)
Pero no se porque razón tampoco sale... Por favor me podrías aclarar en donde me estoy equivocando..
También intente hacer en el lose focus, siempre en los eventos del DW, no de la ventana, los datos que ingreso son guardados(es decir, cree el botón guardar y guarda perfeco) Lo que no estoy pudiendo hacer es la suman automáticas de puntaje1 y puntaje dos, para agregarlos al puntaje total. Es decir cargo puntaje uno, cargo puntaje dos y al terminar de tipear todo el puntaje dos, no consido que el setitem cargue al campo puntaje total de manera automática.
como es una grilla ago de la siguiente manera
EVENTO ITEMCHANGED del DW1
var1 = dw_1.getitemnumber(dw_1.getrow(),campo1)
var2 = dw_1.getitemnumber(dw_1.getrow(),campo2)
sum= var1+var2
dw_1.setitem(dw_1.getrow(),"puntototal", sum)
var1=0
var2=0
Sum=0tambien intente hacer en el lose focus, siempre en los eventos del DW, no de la ventana, los datos que ingreso son guardados(es decir, cree el botón guardar y guarda perfeco) Lo que no estoy pudiendo hacer es la suman automáticas de puntaje1 y puntaje dos, para agregarlos al puntaje total. Es decir cargo puntaje uno, cargo puntaje dos y al terminar de tipear todo el puntaje dos, no consido que el setitem cargue al campo puntaje total de manera automática.
como es una grilla ago de la siguiente manera
EVENTO ITEMCHANGED del DW1
var1 = dw_1.getitemnumber(dw_1.getrow(),campo1)
var2 = dw_1.getitemnumber(dw_1.getrow(),campo2)
sum= var1+var2
dw_1.setitem(dw_1.getrow(),"puntototal", sum)
var1=0
var2=0
sum=0.
Espero contar con tu respuesto ya siempre son de gran utilidad.

1 Respuesta

Respuesta
1
as lo sgt..
Crea un evento llamalo calcula un evento normal en tu ventana solo ponle nombre nada más y codifica lo sgt.
///////////////////////////////
integer li_row
li_row = dw_grid.getrow()
dw_grid.object.total_puntaje[li_row]=dw_grid.object.campo_1[li_row]+dw_grid.object.campo_2[li_row]
///////////////////////////////////////////
ahora en el evento editchanged del dw_grid pones
choose case dwo.name
case 'campo_1','campo_2'
parent.triggerevent('ue_calcula')
end choose
////////////////
Veras como te resulta cuelkier cosa o duda solo avisame.. note olvides de cerrar la pregunta y sorry por la demora en la respuesta.
Una aclaración por favor si es posible.. ¿esta parte "dw_grid.object.campo_1[li_row] "entre el campo y li_row (el numero de la fila) debe ir un punto?
No chica no va el punto..
¿El evento debe tener algún tipo de retorno no? Copie así mismo cm me pusiste.. pero no suma..
Ponle sin parente solo ponel triggerevent('ue_calcula')
Puedes cerrar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas