Como saber a coluna que foi clicada quando dgRowSelect true

Delphi

25/02/2005

O DBGrid está configurado com a propriedade dgRowSelect como true, o que faz com que toda a linha seja selecionada.
ao veriicar a propriedade Index está sempre como 0.
Então como faço para saber a coluna que cliquei, mesmo quando o DBGrid está configurado para selecionar toda a linha?


Raserafim

Raserafim

Curtidas 0

Respostas

Buosinet

Buosinet

25/02/2005

A DBGrid tem um metodo GridCoord, que retorna um TPoint com as coordenadas da célula clicada.

Boa Sorte,
Buosi.


GOSTEI 0
Raserafim

Raserafim

25/02/2005

pode dá um exemplo de como utiliza-la?


GOSTEI 0
Bruno Belchior

Bruno Belchior

25/02/2005

A DBGrid tem um metodo GridCoord, que retorna um TPoint com as coordenadas da célula clicada. Boa Sorte, Buosi.
amigo procurei e não encontrei o método [b:3862d100b8]GridCoord[/b:3862d100b8], poderia ser mais específico...


GOSTEI 0
Raserafim

Raserafim

25/02/2005

também não achei nada com este nome


GOSTEI 0
Carlosrm

Carlosrm

25/02/2005

raserafim,

só tenho uma parte da resposta, meio na marretada. Espero que ajude na sua solução.

procedure TForm1.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
showmessage(´Cliquei na coluna ´+inttostr(x)+´, linha ´+inttostr(y));
end;

Na manipulação deste evento, tanto faz o estado de dgRowSelect, e também tanto faz se o usuário clicar numa área que tem dados ou vazia do dbgrid.

Se vc for usar as coordenadas de onde se deu o clique para relacionar com a coluna clicada, atente para o fato que o usuário poderá ter alterado a posição ou largura das colunas (dgColumnResize).

carlosrm


GOSTEI 0
Raserafim

Raserafim

25/02/2005

é carlos, também havia pensado nesta possibilidade. Acabei utilizando ela mesma, atendeu perfeitamente. valew


GOSTEI 0
POSTAR