Olá! Quarta Feira, 10 de Fevereiro de 2010.


Dicas CódigoFonte.net
Segunda Feira, 28 de Agosto de 2006

Como trocar a coluna do DBGrid de lugar

Olá, neste artigo mostrarei um forma bastante interessante de trabalhar com as colunas do DBGrid. Faremos a troca de posição das colunas usando o evento onTitleClick do DBGrid.

Quando o usuário clicar em uma coluna esta passará a ser a primeira coluna e a primeira trocará de lugar com a coluna clicada. A primeira coluna poderia ser usada para filtrar e/ou ordenar a tabela e sendo a coluna 0 (zero) fica mais fácil para identificar por qual coluna nossa table está ordenada/filtrada.

Desenhando o projeto

O design para este exemplo é bem compacto. Insira um TTable, um DataSource e um DBGrid. Altere suas propriedades conformes as tabelas abaixo. Sua tela deve se parecer com a Figura 1.

Clique para ver a imagem em seu tamanho real
Tabela 3. Propriedades do TDbGrid

Coluna colorida

Uma coisa que uso com bastante freqüência é colorir a primeira coluna, assim fica ainda mais fácil identificar por qual coluna o filtro/ordenação será feito. Para isso:

Clique duas vezes no DBGrid, adicione os todos campos. Em seguida selecione o primeiro campo, referente a primeira coluna, e mude a propriedade Color para clInfoBk ou uma cor de sua preferência.

Clique para ver a imagem em seu tamanho real
Figura 1. Legenda explicativa da figura

Programação

Você verá que a programação não exige alto conhecimento. Apenas pegamos o nome da coluna selecionada e seu index. Em seguida “dizemos” que o FieldName da colunca selecionada é igual ao FieldName da coluna 0(zero), ou seja, o primeiro campo. Agora basta igualar o FieldName da coluna zero ao FieldName da coluna selecionada. Veja a Listagem 1.

Listagem 1. Descrição da listagem

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
  nmColSel: string;
  idColSel: Integer;
begin
  nmColSel := Column.FieldName;
  idColSel := Column.Index;
  with DBGrid1 do
  begin
    Columns[idColSel].FieldName := Columns[0].FieldName;
    Columns[0].FieldName := nmColSel;
  end;
end;


Conclusões

Neste artigo aprendemos a trocar a coluna de um DBGrid em runtime e tornando sua visualização mais nítida.

Por Adriano Santos
Adriano Santos (artes@doiscliques.com) é desenvolvedor Delphi desde 1998. Professor e programador PHP. Bacharel em Comunicação Social pela Universidade Cruzeiro do Sul, SP. É colunista e membro da Comissão Editorial da revista ClubeDelphi.

Conheça nosso parceiro:

Comentários do artigo [Novo comentário]

Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:






Melhor Visualizado com
800x600 de Resolução

CodigoFonte.net » CodigoFonte.eti.br » Compre De Tudo » Meu Mural » PelamorDeDeus » Todos os Direitos Reservados © 2002/2008

Procurando Notebooks, Câmeras Digitais, iPhones?

CompreDeTudo.com