Ver Mensaje Individual
  #3  
Antiguo 08-12-2017
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.

Si te entedí bién podrías hacer:
Código Delphi [-]
procedure SelectRowsUntil(gr:TDBGrid; Monto: Double);
var
  ds : TDataSet;
  sum: Double;
begin
  sum := 0;
  ds := gr.DataSource.DataSet;
  ds.DisableControls;
  try
    while not ds.Eof and (sum <= Monto) do
    begin
      sum := sum + ds.FieldByName('MONTO_DEL_PAGO').AsFloat;
      if sum <= Monto then
        gr.SelectedRows.CurrentRowSelected := True;
      ds.Next;
    end;
  finally
    ds.EnableControls;
  end;
end;

Ejemplo de uso:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  SelectRowsUntil(DBGrid1, 100);
end;

Saludos
__________________
Daniel Didriksen

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