DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Como trocar a coluna do DBGrid de lugar

Veja nesse artigo de Adriano Santos, como trocar de lugar uma coluna do DBGrid em run time.

 

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.

 

Propriedade

Valor

Name

Table1

DataBaseName

DBDEMOS

TableName

Cients.dbf

Tabela 1. Propriedades do TTable

Propriedade

Valor

Name

DataSource1

DataSet

Table1

Tabela 2. Propriedades do TDataSource

Propriedade

Valor

Name

DbGrid1

DataSource

DataSource1

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.

 

 

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.





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
Adriano Santos

É especialista Delphi, ex-editor das revistas ClubeDelphi e WebMobile, atualmente é Product Manager na SPK Tecnologia - empresa distribuidora de diversas soluções tecnológicas – e especialista em Microsoft Team Foundation Server.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
3   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03