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
