Pesquisa --gt; Pela Coluna Clicada no DBGRid lt;--
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...
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
Curtidas 0
Respostas
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
27/09/2005
Blz.. vou tentar aqui.. qualquer coisa eu posto novamente..
vlw
vlw
GOSTEI 0
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
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