Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   No mover columnas de un DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=63511)

bbjb 17-02-2009 18:33:21

No mover columnas de un DBGrid
 
Buenas a tod@s,

Quiero evitar que se pueda cambiar el orden de las columnas en un dbgrid y me gustaría saber si existe alguna propiedad para hacerlo, es decir, para el dbgrid:

Código:

Nombre    Edad    Localidad    Provincia
jose      22      Aranjuez    Madrid
manolo    31      Pirlo        Madrid

Evitar que el usuario pueda coger la columna "edad" y la coloque en primera posición.

Un saludo y gracias.

roman 17-02-2009 18:50:58

¡Vaya! Nunca me había percatado de esto. Al parecer, la clase TDBGrid unifica en la opción dgColumnResize las opciones goColMoving y goColSizing de su ancestro TCustomGrid.

Entonces, puedes evitar el movimiento de columnas pero a costa de evitar también el cambio de tamaño.

Una opción un poco sucia de evitar sólo el cambio de posición es así:

Código Delphi [-]
type
  // Tipo de datos para poder acceder a las propiedades proptegidas de TCustomGrid
  THackGrid = class(TCustomGrid);

// Quitar la opción goColMoving en el constructor del formulario
procedure TForm1.FormCreate(Sender: TObject);
begin
  with THackGrid(DBGrid1) do
    Options := Options - [goColMoving];
end;

Desconozco si tiene algún efecto colateral.

// Saludos

bbjb 17-02-2009 18:52:47

Gracias Román,

Probaré y os informaré de los efectos "colaterales" que pueda tener.


La franja horaria es GMT +2. Ahora son las 16:47:57.

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