Fórum Alterar Colunas no DBGrid #170233

19/07/2003

0

Tenho um DBgrid com n colunas eu queria alterar a posição e o nome delas, sinceramente não tenho a mínima idéia de como isso é possível, alguém pode ajudar-me?

:oops:


Anjo Azul

Anjo Azul

Responder

Posts

19/07/2003

Henry

brother, tem uma classe q ate da pra brinca com a grade, este codigo alem de mudar os nomes permite inserir mais q uma linha nos titulos da coluna :
eis o codigo:


type
TAccessDBGrid = class(TCustomGrid);

No evento onDrawColumnCell escreva o código abaixo:

procedureTForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
S1, S2: String;
begin
with TAccessDBGrid(DBGrid1) do
begin
//Limpando o Título da Coluna
RowHeights[0] := 32;
Canvas.Brush.Style := bsClear;
//Títulos da Coluna
case Column.Index of
0: begin
Column.Title.Caption := ´´;
S1 := ´Row 1´;
S2 := ´Row 2´;
end;
1: begin
Column.Title.Caption := ´´;
S1 := ´Row 1´;
S2 := ´Row 2´;
end;
end;
//Escrevendo o Título
Canvas.TextOut(Rect.Left+2, 2, S1);
Canvas.TextOut(Rect.Left+2, 16, S2);
end;


Explicando o Código

Ao declarar um tipo de uma classe ancestral e associando a classe filho, as propriedades que antes eram protegidas podem ser alteradas nesta classe filho. É o que acontece na Linha:

RowHeights[0] := 32;

A propriedade RowHeights é um vetor onde cada índice representa a linha do Grid. A linha inicial (Título), a altura é alterada para 32.
Após o titulo original da coluna ser alterada, os valores das linhas são armazenados nas variáveis S1 e S2. Depois quem faz o trabalho é a propriedade Canvas que posiciona os valores das variáveis em duas linhas no Título da coluna


Responder

Gostei + 0

20/07/2003

Rjanuzzi

Olá Anjo Azul,

Pelo que entendi sua dúvida é um pouco mais simples do que nosso amigo Henry imaginou.

Para o q vc quer fazer, é só dar 2 cliques em cima do dbgrid, abrirá uma janela para vc inserir Colunas (Tcolumns). Aí vc insere quantas quiser, e acessa as propriedades de cada uma no Object Inspector, como Field, Caption, largura, etc...

[]´s

rjanuzzi


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar