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:
il TOTALE e' un field NUMERIC(9,3).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);
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

Rispondi quotando