Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Columna ReadOnly en DbGrid solo para algunos registros. (https://www.clubdelphi.com/foros/showthread.php?t=88017)

Jere_84 01-04-2015 22:17:38

Columna ReadOnly en DbGrid solo para algunos registros.
 
Mi necesidad es la siguiente:

tengo una DbGrid que contiene uno o mas registros lo que necesito es que una determinada columna de la grid no se puede editar para los registros que ya están ingresados pero al costado de la grid tengo un botón que hace un append y inserta un nuevo registro en la grid. En los nuevos registros si tiene que estar editable esa columna pero en los que ya fueron ingresado anterior mente tiene que estar en modo ReadOnly.

Existe alguna manera de identificar un registro nuevo de uno viejo a través de las propiedad de un ClientDataSet?

De que manera encararían algo así ustedes muchachos?

Saludos y gracias por leerme.

ecfisa 02-04-2015 10:05:27

Hola Jere_84.

Yo haría:
Código Delphi [-]
const
  COLNRO = 1; // Nro de columna que permanecerá ReadOnly

// TDataSource OnStateChange
procedure TForm1.DataSource1StateChange(Sender: TObject);
begin
  DBGrid1.Columns[COLNRO].ReadOnly:= not (TDataSource(Sender).DataSet.State = dsInsert);
end;

Saludos :)

Jere_84 04-04-2015 14:16:55

Muy buen código bien simple.

Muchas gracias ecfisa!^\||/


La franja horaria es GMT +2. Ahora son las 20:44:17.

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