[Lazarus-es] No cambiar de columna en dbgrid

Ismael L. Donis Garcia slibre en natio.co.cu
Mar Jul 11 21:41:47 CEST 2017


Como se podrá impedir que el curso abance una columna al dar enter en un dbgrid en el evento EditingDone?

Tengo lo siguiente:

dbg: TDBGrid;

Y quiero en el evento:


procedure Tfvsal.dbgEditingDone(Sender: TObject);
begin
  if (dbg.SelectedIndex = 4) then begin
   if (dbg.DataSource.DataSet.FieldByName('cantidad').AsFloat > dbg.DataSource.DataSet.FieldByName('exist').AsFloat) then begin



//..........

//que al entrar aqui me salga de la columna 4 

//..........


     Application.MessageBox('La cantidad a dar salida no puede ser mayor a la existencia.' , pchar(Self.Caption), MB_ICONINFORMATION);
      dbg.DataSource.DataSet.FieldByName('cantidad').AsFloat := 0;
      dbg.DataSource.DataSet.FieldByName('saldo2').AsFloat:=0;
      dbg.DataSource.DataSet.FieldByName('saldo1').AsFloat:=0;
    end else begin
     try
       dbg.DataSource.DataSet.FieldByName('saldo2').AsFloat:=StrToFloat(FormatCurr('#0.00', dbg.DataSource.DataSet.FieldByName('cantidad').AsFloat * dbg.DataSource.DataSet.FieldByName('pre2').AsFloat));
      except
       dbg.DataSource.DataSet.FieldByName('saldo2').AsFloat:=0;
      end;
      try
       dbg.DataSource.DataSet.FieldByName('saldo1').AsFloat:=StrToFloat(FormatCurr('#0.00', dbg.DataSource.DataSet.FieldByName('cantidad').AsFloat * dbg.DataSource.DataSet.FieldByName('pre1').AsFloat));
      except
       dbg.DataSource.DataSet.FieldByName('saldo1').AsFloat:=0;
      end;
    end;
  end;
end;


Saludos Cordiales
--
Ismael
Devuan User : http://distrowatch.com/table.php?distribution=devuan
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170711/c7dc1724/attachment-0001.html>


Más información sobre la lista de distribución Lazarus-es