Sumar dos celdas de un grid

30/09/2011 - 04:05 por mcantor | Informe spam
Hola amigos, tengo este problema. Un cursor que se carga a un grid
con dos columnas para escribir datos numericos y una tercera es el
calculo de la suma de las celdas. todas las 3 columnas son del mismo
cursor.
Como hago para que tan pronto escriba en la primera y segunda celda un
dato automaticamente me de el resultado en la tercer celda?
he probado con la propiedad del grid AfterRowColChange y
afterRowcolchange, funciona ,pero a veces no hace nada, ademas cuando
el usuario se mueve por la grilla los valores se cambian sin sentido.
es decir la culumna resultado aparece con datos errados que no
corresponden a la suma?

gracias de antemano, me pueden escribir a mariocantor@gmail.com

Preguntas similare

Leer las respuestas

#1 ibania blanco
30/09/2011 - 19:06 | Informe spam
On 29 sep, 20:05, mcantor wrote:
Hola amigos, tengo este problema.  Un cursor que se carga a un grid
con dos columnas para escribir datos numericos y una tercera es el
calculo de la suma de las celdas. todas las 3 columnas son del mismo
cursor.
Como hago para que tan pronto escriba en la primera y segunda celda un
dato automaticamente me de el resultado en la tercer celda?
 he probado con la propiedad del grid AfterRowColChange y
afterRowcolchange, funciona ,pero  a veces no hace nada, ademas cuando
el usuario se mueve por la grilla los valores se cambian sin sentido.
es decir la culumna resultado aparece con datos errados que no
corresponden a la suma?

gracias de antemano, me pueden escribir a



en el valid o lostfocus del ultimo campo tenes que hacer la operacion
por ejemplo

campo1 campo2 esto lo colocas en lostfocus del campo2
whith thisform
.grid1.campo3.value=round(.grid1.campo1.value*.grid1.campo2.value,
2)
endwith

ahora podes hacer algo mas en el campo3 que es del resultado de la
operacion
asi, en el gotfocus
replace next 1 temporal.capo3 with
round(temporal.campo1*temporal.campo2,2)

esto tambien si utilizas un nombre de tabla o cursor llamado temporal,
sino lo sustituyes
Respuesta Responder a este mensaje
#2 mcantor
01/10/2011 - 02:44 | Informe spam
On Sep 30, 12:06 pm, ibania blanco wrote:
On 29 sep, 20:05, mcantor wrote:

> Hola amigos, tengo este problema.  Un cursor que se carga a un grid
> con dos columnas para escribir datos numericos y una tercera es el
> calculo de la suma de las celdas. todas las 3 columnas son del mismo
> cursor.
> Como hago para que tan pronto escriba en la primera y segunda celda un
> dato automaticamente me de el resultado en la tercer celda?
>  he probado con la propiedad del grid AfterRowColChange y
> afterRowcolchange, funciona ,pero  a veces no hace nada, ademas cuando
> el usuario se mueve por la grilla los valores se cambian sin sentido.
> es decir la culumna resultado aparece con datos errados que no
> corresponden a la suma?

> gracias de antemano, me pueden escribir a

en el valid o lostfocus del ultimo campo tenes que hacer la operacion
por ejemplo

campo1   campo2  esto lo colocas en lostfocus del campo2
whith thisform
   .grid1.campo3.value=round(.grid1.campo1.value*.grid1.campo2.value,
2)
endwith

ahora podes hacer algo mas en el campo3 que es del resultado de la
operacion
asi, en el gotfocus
replace next 1 temporal.capo3 with
round(temporal.campo1*temporal.campo2,2)

esto tambien si utilizas un nombre de tabla o cursor llamado temporal,
sino lo sustituyes



Gracias... acabo de hacer esto y me funciona bien si opero directo
sobre la tabla, pero en el cursor el codigo bajo las celdas no es
accesado. simplemente parece que no existiera, pero es solo cuando
trabajo sobre el cursor... alguna idea de este extraño
comportamiento? me hara falta poner en T o F alguna propiedad del
grid?
gracias...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida