![]() |
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.... |
Puedes anular la inserción del registro en el evento BeforeInsert de tu dataset:
; |
¿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... |
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... |
¿Has probado en la propiedad OPTIONS del TDBGrid asignar el valor "dgEditing = false?
O bien, el siguiente código: DBGrid1.options := DBGrid1.options - [dgEditing]; |
Cita:
Y él sólo quiere que se deje de INSERTAR; No dice nada de poder modificar las existentes. |
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 |
| La franja horaria es GMT +2. Ahora son las 20:27:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi