Pesquisa --gt; Pela Coluna Clicada no DBGRid lt;--

Delphi

27/09/2005

Olá galera, é o seguinte. Tenho uma tabela que pode ser feita pesquisa em 3 campos diferentes. Quero que ao clicar na coluna do dbgrid(nome, por exemplo) ela mude de cor da coluna e me passe um controle para saber pode onde pesquisar(isso é de menos), ai quando eu clicar em outra coluna(endereço, por exemplo) faça a mesma coisa...
Procurei no fórum mas não achei nada que pudesse me ajudar...
Clicar e colorir eu estou conseguindo, mas ele vai colorindo todas as colunas que eu clico, sem voltar a coluna anterior na cor original...
Obrigado...


Lucianobarreto

Lucianobarreto

Curtidas 0

Respostas

Massuda

Massuda

27/09/2005

Isso você precisa implementar em duas partes...[list:4ef5eeb6c3][*:4ef5eeb6c3]No evento TDBGrid.OnTitleClick você implementa a parte relacionada com ordenação dos dados[*:4ef5eeb6c3]No evento TDBGrid.OnDrawColumnCell você implementa a parte relacionada com o desenho (o que inclui a cor) das colunas[/list:u:4ef5eeb6c3]Use uma variável compartilhada entre as duas partes para saber qual coluna está sendo usada para ordenação.


GOSTEI 0
Lucianobarreto

Lucianobarreto

27/09/2005

Blz.. vou tentar aqui.. qualquer coisa eu posto novamente..
vlw


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

27/09/2005

faça tudo no OnTitleClick (desde que deseje realmente alterar a cor da [b:fb4199db34]coluna[/b:fb4199db34])

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var i: integer;
begin
  {altera a cor das colunas para o padrão}
  for i := 0 to TDBGrid(Column.Grid).Columns.Count-1 do
    TDBGrid(Column.Grid).Columns[i].Color := clWindow;

  {altera a cor da coluna "clicada" para azul}
  Column.Color := $00FFEAD5;

  {variável private para compartilhar com a rotina de pesquisa,
   como foi sugeriudo pelo massuda}
  CampoPesquisa := Column.FieldName;
end;



GOSTEI 0
Massuda

Massuda

27/09/2005

faça tudo no OnTitleClick (desde que deseje realmente alterar a cor da [b:b5180fa587]coluna[/b:b5180fa587])
Tem razão... se for só o desenho da coluna, não precisa se preocupar com o desenho das células individuais.


GOSTEI 0
POSTAR