PDA

Ver la Versión Completa : If en TJvDBLookUpCombo


mantraxer21
30-08-2010, 21:15:29
Estimados:

Tengo un formulario que tiene 1 componente TJvDBLookUpCombo, que llamaremos "Productos" , 1 Componente TDBEdit llamado "Cantidad" y por último otro llamado "Kilos".

La idea es que dependiendo del Producto seleccionado y luego el usuario ingrese la cantidad, en el dbedit del "kilo" se almacene el Kilo del Producto, osea Producto * Cantidad = Kilo

Estoy trabajando con "DATASET" y SU RESPECTIVO "DATASOURCE" .

Estaba pensando en un ciclo If (pues son más menos 10 productos), nosé si me pueden hechar una mano ?

Gracias

afunez2007
30-08-2010, 21:23:49
deberias de poncer un poco del codigo que tienes, asi te podremos ayudar mejor

Saludos

mantraxer21
30-08-2010, 22:46:17
If Producto.Value = '1' then

Begin
GridDetalle.Columns[4]:= GridDetalle.Columns[3]*0.900;
end;


En la Columnba 4 de mi Grilla (dbUltimGrid) se encuentra el campo "Kilo", y en el 3 se encuentra la Cantidad


Saludos

Chris
30-08-2010, 22:55:03
No se sabe lo que quieres hacer. Explicate mejor y dinos cúal es tu obtetivo.

afunez2007
30-08-2010, 22:58:58
Código Delphi [-] (http://www.clubdelphi.com/foros/#)If Producto.Value = '1' then Begin GridDetalle.Columns[4]:= GridDetalle.Columns[3]*0.900; end;


En la Columnba 4 de mi Grilla (dbUltimGrid) se encuentra el campo "Kilo", y en el 3 se encuentra la Cantidad


Saludos

Asumo que estos grids estan trabajando con querys o tablas, por lo cual debes pensar en ese punto y no centrarte tanto en el grid:
Asumiendo que el grid este asociado a una table1, en el evento closeup debes rellenar los dbedits y luego deberas tener un boton que te agregue las lineas a la tabla, es decir que haga el post y refresque los datos para que se reflejen en el grid.

mantraxer21
30-08-2010, 23:03:11
Claro

Efectivamente trabaja con una tabla y los campos (Cantidad, IdProducto, kilos)

En este caso tengo un DataSet y en el evento "CalcFields" pude el codigo

If Producto.Value = '1' then
Begin GridDetalle.Columns[4]:= GridDetalle.Columns[3]*0.900;
end;

Cosa que me manda errores !!!, nosé si toy haciendo bien :S

afunez2007
30-08-2010, 23:16:38
Claro

Efectivamente trabaja con una tabla y los campos (Cantidad, IdProducto, kilos)

En este caso tengo un DataSet y en el evento "CalcFields" pude el codigo

Código Delphi [-] (http://www.clubdelphi.com/foros/#)If Producto.Value = '1' then Begin GridDetalle.Columns[4]:= GridDetalle.Columns[3]*0.900; end;


Cosa que me manda errores !!!, nosé si toy haciendo bien :S

Es lo que te decia, estas haciendo referencia al grid y no a la tabla, prueba algo asi:
1.- En el evento on closeup del combo:

edtidprod.value:=table1.fieldbyname('IdProducto').value;

2.-Calcular kilo (este podria estar en el onclik de un boton):

kilo.value:=edtidprod.value*table1.fieldbyname('cantidad').value;