PDA

Ver la Versión Completa : Calculo en dbgrid


rmnart
14-06-2004, 19:06:32
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.