Ver Mensaje Individual
  #4  
Antiguo 25-06-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Parsec.

Coincido con Marcos, sin dudas es el caso.

El evento OnCalcFields se dispara cuando se cambia la fila activa de la tabla o cuando la propiedad AutoCalcFields esta activa y se produce alguna modificación en los campos de la primera.

La cantidad de veces que se dispare el evento OnCalcFields al abrir el DataSet, depende de la cantidad de filas que el componente requiera mostrar en ese momento.

Para comprobar esto de manera simple, agregá un ListBox y reducí el DBGrid para que muestre una sola fila y luego usa este código:
Código Delphi [-]
...
implementation 

var
  cont : Integer = 0;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DataSet.Open;
end;

procedure TForm1.DataSetCalcFields(DataSet: TDataSet);
begin
  ListBox1.Items.Add('CalcFields '+IntToStr(cont));   
  Inc(cont);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  DBGrid1.Height := DBGrid1.Height + 50;
end;
Verás que a medida que el DBGrid crece en altura se van reflejando las ocurrencias en el ListBox.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 25-06-2013 a las 21:20:44.
Responder Con Cita