Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-01-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Anular funcionalidad flecha abajo en grid

Buenas de nuevo a todos.

Tengo una duda que San Google ni mis conocimientos me han permitido disipar.

Es posible anular la funcionalidad Post al realizar flecha arriba o flecha abajo dentro de un dbgrid?

Necesitaría que solo realizara scroll arriba o abajo.

Lo que si he conseguido gracias a un post de Ecfisa es que al llegar al último registro no me añada ninguno nuevo y que para hacerlo tenga que dar al botón añadir del formulario.

Gracias por vuestro precioso tiempo.

Saludos

Josep
Responder Con Cita
  #2  
Antiguo 29-01-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 Josep.

Fijate si te sirve de este modo:
Código Delphi [-]
...
var
  NoPost: Boolean = False;

procedure TForm1.DataSetBeforePost(DataSet: TDataSet);
begin
  if NoPost then Abort;
end;

type
  DBGridExt = class(TDBGrid);

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  with DBGridExt(TDBGrid(Sender)) do
  begin
    case Key of
      VK_TAB :NoPost := SelectedIndex = Columns.Count-1; // (si no deseas que guarde con TAB)
      VK_DOWN:begin
                NoPost := True;
                if (Key = VK_DOWN)and(Row = RowCount-1) then Abort;
              end;
      VK_UP  :NoPost := True;
    end;
  end;
end;
Eso si, tendras que recordar poner el valor de NoPost en False antes de llamar al método Post, por ejemplo:
Código Delphi [-]
procedure TForm1.btnGuardar(Sender: TObject);
begin
  NoPost:= False;
  DataSet.Post;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 29-01-2014
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Mucha gracias Ecfisa.

Solo me queda decirte una cosa y la voy a decir en mayúsculas "UNA RESPUESTA EXCELENTE, ES EXACTAMENTE LO QUE BUSCABA".

Ya use la funcionalidad del VK_Down que habías puesto en otro hilo, pero esto de hoy es soberbio, realmente lo que buscaba, has dado en el clavo.

Sigo pensando que este foro es una mina y muchas veces me gustaría dar más de lo que recibo, pero tengo mis limitaciones las cuales voy superando gracias a vuestras ayudas.

Saludos eufóricos

Josep
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
calculo de campos presionando la flecha abajo luchifer Varios 4 22-02-2013 18:00:54
Deshabilitar Insert en DBGrid con flecha abajo. acalderonr Varios 2 29-07-2011 01:54:43
Tecla enter como arrow down key(flecha abajo) mcasso Tablas planas 1 11-06-2010 20:05:48
Flecha Abajo y Flecha Arriba no Funcionan en ScrollBox JELIRM Varios 1 19-12-2007 09:24:07
salir de un TEDIT con flecha abajo KAYO Varios 2 27-01-2007 15:27:38


La franja horaria es GMT +2. Ahora son las 16:50:51.


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
Copyright 1996-2007 Club Delphi