PDA

Ver la Versión Completa : ¿Cómo se puede impedir la entrada a una Columna?


bulc
19-01-2014, 15:32:22
Se que lo hice hace tiempo pero no me acuerdo cómo se hace. Había una propiedad ColPos. Y, por supuesto la prop. Colums[] que se obtiene con click en celda.
Era algo así como: si estás en la columna actual cero, se hace un +1 al cursor para que se vaya a la columna siguiente, la uno o la que sea.
Se trata de evitar que se puedan editar los datos de la columna numérica inicial[0]. Yo la asigno a cero, al insertar, para que luego el Trigger la actualice al siguiente número
de Generador. Eso sí se acepta el dato con Post y ApplyChanges.
Saludos,

Casimiro Notevi
19-01-2014, 17:29:50
No mezcles cosas distintas en un mismo hilo. Lo paso a otro.

ecfisa
20-01-2014, 12:40:36
...
Se trata de evitar que se puedan editar los datos de la columna numérica inicial[0].
...

Hola bulc.

Tendrías que haber especificado si estas usando un TDBGrid o un TStringGrid...

Para un DBGrid:

// Situar en columna 1
procedure TForm1.FormCreate(Sender: TObject);
begin
DBGrid1.SelectedIndex := 1;
end;

// Impedir ingreso en columna 0
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
with TDBGrid(Sender) do
if SelectedIndex = 0 then
SelectedIndex := 1
end;


Para un StringGrid:

// Situar en columna 1
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.Col := 1;
end;

// Impedir ingreso en columna 0
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
CanSelect := ACol <> 0;
end;


Saludos :)

bulc
20-01-2014, 13:24:05
Ya lo había intuído pero lo has hecho aún más claro de lo que lo hacía. Repito, gracias.