Clonar as colunas de um DBGrid para outro DBGrid

As vezes precisamos clonar as colunas de um DBGrid para outro DBGrid. Então segue abaixo como clonar as colunas e suas propriedades.

As vezes precisamos clonar as colunas de um DBGrid para outro DBGrid.
Então segue abaixo como clonar as colunas e suas propriedades.


procedure CloneColumnsDBGrid(dbgrOrigem, dbgrDestino: TDBGrid);
var
  x: integer;
  Coluna: TColumn;
begin
  dbgrDestino.Columns.Clear;
  for x := 0 to dbgrOrigem.Columns.Count - 1 do
  begin
    Coluna := dbgrDestino.Columns.Add;
    with dbgrOrigem.Columns.Items[x] do
    begin
      Coluna.Alignment    := Alignment;
      Coluna.ButtonStyle  := ButtonStyle;
      Coluna.Color        := Color;
      Coluna.DropDownRows := DropDownRows;
      Coluna.Expanded     := Expanded;
      Coluna.FieldName    := FieldName;
      Coluna.ImeMode      := ImeMode;
      Coluna.ImeName      := ImeName;
      Coluna.PickList     := PickList;
      Coluna.PopupMenu    := PopupMenu;
      Coluna.ReadOnly     := ReadOnly;
      Coluna.Visible      := Visible;
      Coluna.Width        := Width;

      { Font }
      Coluna.Font.Charset := Font.Charset;
      Coluna.Font.Color   := Font.Color;
      Coluna.Font.Height  := Font.Height;
      Coluna.Font.Name    := Font.Name;
      Coluna.Font.Orientation := Font.Orientation;
      Coluna.Font.Pitch   := Font.Pitch;
      Coluna.Font.Size    := Font.Size;
      Coluna.Font.Style   := Font.Style;

      { Title }
      Coluna.Title.Alignment    := Title.Alignment;
      Coluna.Title.Caption      := Title.Caption;
      Coluna.Title.Color        := Title.Color;
      Coluna.Title.Font.Charset := Title.Font.Charset;
      Coluna.Title.Font.Color   := Title.Font.Color;
      Coluna.Title.Font.Height  := Title.Font.Height;
      Coluna.Title.Font.Name    := Title.Font.Name;
      Coluna.Title.Font.Orientation := Title.Font.Orientation;
      Coluna.Title.Font.Pitch   := Title.Font.Pitch;
      Coluna.Title.Font.Size    := Title.Font.Size;
      Coluna.Title.Font.Style   := Title.Font.Style;
    end;
  end;
end;


Espero ter colaborado.

Artigos relacionados