Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   como bloquear un registro en un dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=4114)

marcelofabiani 02-10-2003 15:22:10

como bloquear un registro en un dbgrid
 
Hola, mi pregunta es la siguiente existe alguna forma de bloquear un registro en un dbgrid, es decir que la persona no pueda hacer modificaciones a una fila determinada? pero que si pueda hacerlo en las demas?? Si no existe como podria lograr algo parecido, espero puedan ayudarme saludos

__cadetill 02-10-2003 15:33:14

si sabes las condiciones que ha de cumplir el registro que no puede ser modificado, puedes controlar el evento BeforeEdit del dataset asociado al TDbGrid y, si se cumplen dichas condiciones, hacer un Abort

marcelofabiani 02-10-2003 18:09:18

Cita:

Posteado originalmente por cadetill
si sabes las condiciones que ha de cumplir el registro que no puede ser modificado, puedes controlar el evento BeforeEdit del dataset asociado al TDbGrid y, si se cumplen dichas condiciones, hacer un Abort
la unica condion es que si un flag que tengo en cada registro esta en true no pueda modificar ese regitro el abort me sirve solo para ese registro verdad:confused:

__cadetill 02-10-2003 18:29:04

Cita:

Posteado originalmente por marcelofabiani
la unica condion es que si un flag que tengo en cada registro esta en true no pueda modificar ese regitro el abort me sirve solo para ese registro verdad:confused:
no, te servirá para todos los registros que tengan el flag activo (o inactivo, como quieras)

Código:

procedure TArtiEspeciales.TablaBeforeEdit(DataSet: TDataSet);
begin
  if TablaFlag.AsBoolean then
      Abort;
end;

he supuesto que el campo se llama Flag, que es de tipo booleano y que si está activo no quiero que se pueda editar

sanxpue 02-10-2003 19:15:12

Haber si te sirve esto tambien...

Con el datasource que tiene ligado el DBGrid, en el evento OnChangeData

DBGrid1.ReadOnly := Tabla.FieldByName('Flag').AsBoolean

marcelofabiani 02-10-2003 21:04:01

Gracias por la ayuda:D


La franja horaria es GMT +2. Ahora son las 04:19: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