Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-05-2018
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Dbgrid en isert o edit que no cambie de fila

Buenos días compañeros, después de mucho tiempo me he puesto a programar nuevamente y tengo un problema con un dbgrid.

El tema es que necesito que por mucho que se quiera no permita irse a otra linea, mientras este en edición o inserción, hasta que grabemos y creemos una nueva.

Un saludo a todos
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #2  
Antiguo 08-05-2018
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 gusto en verte nuevamente por aquí !

Fijate si te sirve esto: Desabilitar auto post al cambiar de renglon en grid

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 08-05-2018
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Mucho gusto en saludarte ecfisa, en este caso no me vale, ya que lo controlo mediante un datasource y no puedo poner el ibdataset en el evento DataSetBeforePost y no quiero tocar este ya que desde otro formulario debe funcionar normal.

Pensaba que usado el Eveto KeyDow y controlando el up y Down me bastaría pero no, ya que uso varias listas y otros en dbgrid y como me descuide me crea un nuevo registro que es lo que no quiero, por eso es obligar a crear/editar/grabar o cancelarlo mediante botones

De todas maneras gracias
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #4  
Antiguo 08-05-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Como indica ecfisa, al cambiar de línea en el dbgrid se realiza un "autopost", por lo que se lanzará el evento beforepost. Ahí puedes controlar lo que quieras hacer.
Responder Con Cita
  #5  
Antiguo 09-05-2018
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Okey, lo probare y buscare como anular el movimiento
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #6  
Antiguo 09-05-2018
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.
Cita:
Empezado por José Luis Garcí Ver Mensaje
Mucho gusto en saludarte ecfisa, en este caso no me vale, ya que lo controlo mediante un datasource y no puedo poner el ibdataset en el evento DataSetBeforePost y no quiero tocar este ya que desde otro formulario debe funcionar normal.
Pero no es necesario dejar el evento asignado, podes asignar el evento al entrar al form y liberarlo al salir, v.gr.:
Código Delphi [-]
// incluye DB (por TDataSet)
...
type
 TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    procedure FormCreate(Sender: TObject);
    //...
    procedure FormDestroy(Sender: TObject);
  private
    procedure DataSetBeforePost(DataSet: TDataSet);
  public
  end;
...
implementation
  
uses DataModule1; // (podrías asignar el evento desde el mismo dataset)

var
  PostEnabled: Boolean = False;

procedure TForm1.DataSetBeforePost(DataSet: TDataSet);
begin
 if not PostEnabled then
    Abort;
  PostEnabled:= False
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DBGrid1.DataSource.DataSet.Open;
  DBGrid1.DataSource.DataSet.BeforePost := DataSetBeforePost;
end;

//----

procedure TForm1.FormDestroy(Sender: TObject);
begin
   DBGrid1.DataSource.DataSet.BeforePost := nil;
end;

(*   En algún sitio al guardar...  *)
...
begin
  PostEnabled:= True;
  DBGrid1.SetFocus
end;

end.

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 09-05-2018 a las 19:31:22. Razón: Agregar comentario
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Pasar datos de una fila de stringgrid a unos edit Salva5255 OOP 1 12-04-2018 05:56:56
DBGRID ¿como seleccionar fila y obtener datos de la fila ? JXJ Varios 5 18-04-2017 03:50:14
tomar una fila de un DBGrid y traspasarlo a otro DBGrid micky mouse Varios 2 05-06-2008 17:24:18
¿es posible darle a un edit lo que dice en una fila de un dbgrid? jirbert Varios 14 22-04-2008 05:28:49
Fila del DbGrid Rabata Varios 3 08-11-2004 23:18:13


La franja horaria es GMT +2. Ahora son las 18:56:10.


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