Como saber a coluna que foi clicada quando dgRowSelect true
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?
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
Curtidas 0
Respostas
Buosinet
25/02/2005
A DBGrid tem um metodo GridCoord, que retorna um TPoint com as coordenadas da célula clicada.
Boa Sorte,
Buosi.
Boa Sorte,
Buosi.
GOSTEI 0
Raserafim
25/02/2005
pode dá um exemplo de como utiliza-la?
GOSTEI 0
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
25/02/2005
também não achei nada com este nome
GOSTEI 0
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
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
25/02/2005
é carlos, também havia pensado nesta possibilidade. Acabei utilizando ela mesma, atendeu perfeitamente. valew
GOSTEI 0