funziona bene in questo modo
Edit2.Text := FormatFloat(',0.000',sum);
praticamente utilizzo questa tecnica x visualizzare i totali di una dbgrid:
una volta eseguita la query mi scorro tutta dbgrid:
codice:
var
sum:single;
begin
....
....
sum := 0;
with JvDBGrid1.DataSource.DataSet do
begin
JvDBGrid1.DataSource.DataSet.FindFirst;
while not Eof do
begin
sum:= sum + FieldByName('TOTALE').AsFloat;
Next ;
end;
end;
Label7.Caption := FormatFloat(',0.000',sum);
il TOTALE e' un field NUMERIC(9,3).
la variabile sum l'avrei voluta dichiarare float...ma nn ci sono riuscito, poi ho trovato su internet un esempio che la dichiarava single e l'ho copiato.
adesso io vorrei aggiornare la label ad ogni cambiamento della colonna TOTALE, pertanto ho pensato di agire sull'evento EditChange della dbgrid ed intercettare i cambiamenti dei valori....
il problema che resta e' quello di aggiornare la label non riesco a convertire la caption ad un valore float x sommare le differenze.
avevo anke pensato di memorizare il valore FLOAT della caption nel label.Tag ma il tag accetta solo numeri interi, ho provato a converire: int(sum*1000)....ma anke in questo caso ottengo una variabile diversa da Integer.
grazie
ps.sempre girando su internet, ho trovato delle dbgrid professionali che hanno delle buone funzioni di Footer, ma purtroppo non ne ho trovata alcuna sharewere. tutte a pagamento.
ma voi come fate a visualizzare i totali delle colonne di una dbgrid?
ri-grazie