Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Deshabilitar Insert en DBGrid con flecha abajo. (https://www.clubdelphi.com/foros/showthread.php?t=75107)

acalderonr 29-07-2011 00:11:36

Deshabilitar Insert en DBGrid con flecha abajo.
 
Hola a todos,

Tengo una duda que no logro resolver ni encuentro otro Post relacionado.

Tengo un DBGrid que está asociado a una tabla temporal DBF, cuando se navega entre las columnas con TAB al finalizar la línea se abre automáticamente un nuevo registro, cumpliendo ciertas condiciones.

Mi problema es que cuando se bajan con la Flecha Abajo, también se puede Insertar un registro y yo quiero evitar eso.

No tengo problema en capturar el VK_DOWN desde el ONKEYDOWN, pero cuando lo captura es por que ya Insertó un registro en blanco.

Será posible bloquear la inserción de registros con KEYDOWN y solo permitirla cuando se navega con TAB?

Espero haberme explicado.

Gracias.

Casimiro Notevi 29-07-2011 00:45:51

Por ejemplo, en el evento beforeinsert:

Código Delphi [-]
procedure TDMmain.QRtiposIvaBeforeInsert(DataSet: TDataSet);
begin
  DataSet.Cancel;
end;

ecfisa 29-07-2011 01:54:43

Hola.

Otra forma puede ser:
Código Delphi [-]
...
implementation
...
type
  DBGridExt = class(TDBGrid);

procedure TForm1.DBGridKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  with DBGridExt(TDBGrid(Sender)) do
    if (Key = VK_DOWN)and(Row = RowCount-1) then
      Abort
end;


Saludos.


La franja horaria es GMT +2. Ahora son las 03:50:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi