Ver Mensaje Individual
  #6  
Antiguo 26-02-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por anubis Ver Mensaje
Me gustaria saber si hay alguna forma de evitar escribir codigo para no tener que escribir una procedure en la que, si quiero añadir registro, me ponga readonly en false en cada uno de los campos por ejemplo.

Otra procedure para volver a ponerlos en readonly en true.
Se que es una pregunta de vago, pero tengo muchos campos de diferentes tablas y es un engorro.

A mi no me queda claro qué es lo que quieres hacer. Da la impresión de que quieres poder insertar registros nuevos pero no editarlos. Si fuera en estos términos generales, bastaría con programar el evento OnBeforeEdit de cada DataSet:

Código Delphi [-]
procedure TForm1.AlgunDataSet1BeforeEdit(DataSet: TDataSet);
begin
  Abort;
end;

y con ello evitarías que los datos se editen sin tener que lidiar con cada campo o DBEdit. Incluso puedes asignar el mismo manejador de evento a los DataSet que te interesen.

Pero, si en cada caso son sólo unos campos los que deben ser ReadOnly y otros no, entonces no veo manera de hacerlo genérico y lo más cercano sería lo que te comenta Agustín (segundo método) en el que tu llenas la lista de los DBEdit que no quieresque editen.

LineComment Saludos
Responder Con Cita