Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Calculo en dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=11446)

rmnart 14-06-2004 19:06:32

Calculo en dbgrid
 
Bueno no se si se en este foro donde pueda preguntar lo sig.
Como podria hacer un calculo de una multiplicacion al modificar en un dbgrid es decir, PRECIO * CANTIDAD y que el resultado me lo muestre en la columna TOTAL; precio ya lo tengo dado de alta,que al modificar el campo 'Cantidad'(columna),
se multiplique por el precio.
En que evento lo podria hacer o de que manera

Gracias de antemano a todos.

eduarcol 14-06-2004 19:08:01

Yo lo haria en el evento onChange del TField

__cadetill 14-06-2004 19:50:22

Yo haría un campo calculado y mostraría esa columna directamente

rmnart 14-06-2004 20:23:48

En cuanto a hacerlo en el evento Onchange del TField no me marca ningun tipo de evento, y hacerlo en un campo calculado con ¡nterbase la verdad no se hacerlo, en paradox ya lo he hecho pero no estoy utilisando ese tipo de base de datos, no se si puedan explicarme con algun tipo de ejemplo


Gracias a los dos por contestar.

guillotmarc 14-06-2004 20:29:19

Veamos :

a) Evento OnChange.

Abre la lista de campos del Dataset, busca los campos que intervienen en el cálculo (PRECIO y CANTIDAD). En su evento AfterChange, escribe el código para asignar el resultado de su multiplicación al campo TOTAL

B) Campo Calculado

Vuelve a abrir la lista de campos del Dataset. Con el botón derecho dale a la opción de 'Add New Field', y al nuevo campo llámale Total, díle que es de tipo Decimal, y que será calculado (es la opción por defecto).

Entonces captura el evento OnCalcFields del Dataset, y escribe allí la asignación del valor del campo calculado :

Dataset.FieldValues['TOTAL'] := Dataset.FieldByName('UNIDADES').AsInteger * Dataset.FieldByName('PRECIO').AsFloat;

Saludos.


La franja horaria es GMT +2. Ahora son las 00:31:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi