DbGrid Identificar se uma coluna está sendo arrastada.

Delphi

18/05/2020

Olá pessoal !!
Alguém poderia me ajudar?
Eu uso, como muitos, o click sobre o título da coluna de um dbgrid para alterar a organização dos dados, porém, quando desejo mover as colunas, também clicando no título e arrastando, não estou conseguindo fazer com que a ordem não se modifique junto.
A pergunta é a seguinte: teria como no OnTitleClick identificar se aquela coluna está sendo movida e dessa forma poder inativar a troca de organização?
Desde já, muito obrigado pela ajuda!
Márcio Brigatto

Márcio Brigatto

Curtidas 0

Respostas

Márcio Brigatto

Márcio Brigatto

18/05/2020

Olá pessoal !!
Alguém poderia me ajudar?
Eu uso, como muitos, o click sobre o título da coluna de um dbgrid para alterar a organização dos dados, porém, quando desejo mover as colunas, também clicando no título e arrastando, não estou conseguindo fazer com que a ordem não se modifique junto.
A pergunta é a seguinte: teria como no OnTitleClick identificar se aquela coluna está sendo movida e dessa forma poder inativar a troca de organização?
Desde já, muito obrigado pela ajuda!


Sempre tive o mesmo problema e agora encontrei uma solução bastante simples:

procedure TForm1.DbGrid1ColumnMoved(Sender: TObject; FromIndex, ToIndex: Integer);
begin
DbGrid1.Tag := 1;
end;


procedure TForm1.DbGrid1TitleClick(Column: TColumn);
begin
if DbGrid1.Tag = 0 then
begin
{
Seu código
}
end;
DbGrid1.Tag := 0;
end;

Espero ter ajudado.
GOSTEI 0
POSTAR