Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-09-2007
Kenobi Kenobi is offline
Miembro
 
Registrado: mar 2007
Posts: 191
Poder: 18
Kenobi Va por buen camino
Desabilitar Insertar en DbGrid

Buenas amigo, de nuevo aca (es que estaba de vacaciones)

Tengo un DbGrid (el normal que viene con Delphi), y cuando se navega hasta el ultimo registro y se le da al cursor del teclado pues inserta un registro nuevo, esa funcionalidad deseo "BLOQUEARLA" ya que ese dbgrid enlaza a una tabla cuyos registros son de solo update por eso no puedo ponerlos de solo lectura...

me imagino que esto es tan basico que me da pena preguntar pero es que no me acuerdo, tengo las neuronas dormidas....


Gracias por su ayuda....
Responder Con Cita
  #2  
Antiguo 18-09-2007
Avatar de paldave
paldave paldave is offline
Miembro
 
Registrado: ago 2007
Ubicación: Uruguay
Posts: 148
Poder: 17
paldave Va por buen camino
Puedes anular la inserción del registro en el evento BeforeInsert de tu dataset:

Código Delphi [-]
procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);
begin
  if DataSet.RecNo=DataSet.RecordCount then
    abort;
end
;
Responder Con Cita
  #3  
Antiguo 18-09-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Has probado con el DataSet asociado?
Se me ocurre que el dataset sí tiene eventos que marcan el antes y después de una inserción, borrado, modificación,...

;-( Se me adelantaron...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 18-09-2007
Kenobi Kenobi is offline
Miembro
 
Registrado: mar 2007
Posts: 191
Poder: 18
Kenobi Va por buen camino
Ummmmm

eso pense, sin embargo lo que crei que se podria hacer era sobre el control, asi como en otros controles Dbgrid mas avanzados que tienen propiedades con las cuales deshabilitar estas funciones....


Gracias por sus Respuestas...
Responder Con Cita
  #5  
Antiguo 18-09-2007
MON___ MON___ is offline
Miembro
 
Registrado: abr 2007
Ubicación: Salamanca (España)
Posts: 84
Poder: 18
MON___ Va por buen camino
¿Has probado en la propiedad OPTIONS del TDBGrid asignar el valor "dgEditing = false?

O bien, el siguiente código:

DBGrid1.options := DBGrid1.options - [dgEditing];
Responder Con Cita
  #6  
Antiguo 19-09-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por MON___ Ver Mensaje
Código Delphi [-]
DBGrid1.options := DBGrid1.options - [dgEditing];
¿Pero eso deshabilitaría todo no?
Y él sólo quiere que se deje de INSERTAR; No dice nada de poder modificar las existentes.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 19-09-2007
MON___ MON___ is offline
Miembro
 
Registrado: abr 2007
Ubicación: Salamanca (España)
Posts: 84
Poder: 18
MON___ Va por buen camino
Tienes razón; la solución que te di inhabilita la edición del registro. Así pues podrías probar con el siguiente código que deberías asociar al evento "onBeforeInsert" de TTable o TQuery

if DBGrid1.Focused then //comprobamos que el DBGRID tiene foco
if dataSet.eof then // comprobamos que estamos en el último registro
abort; // al pulsar TAB se ha insertado nuevo registro. Pero abortamos la inserción
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
Insertar un DBLookupComboBox en un DBGrid andressanchez Varios 5 24-08-2010 10:58:01
Insertar un texto en DBGrid mirudo Varios 3 20-07-2006 19:59:41
Error al insertar en DBGrid Acker Conexión con bases de datos 1 24-05-2006 21:46:23
Evento de DBGrid para insertar. marial Conexión con bases de datos 1 04-07-2004 21:56:22
insertar en una posicion en un dbgrid felixgo Conexión con bases de datos 4 16-06-2004 18:26:06


La franja horaria es GMT +2. Ahora son las 06:20:28.


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