Problema com DBGrid
31/01/2006
0
Quando a propriedade RowSelect do Grid esta = a True e o numero de colunas é mto grande gerando barra de rolagem horizontal, o evento onTitleGrid não funciona corretamente qdo vou com a barra de rolagem pra direita mais pro final do grid e clico no título de alguma coluna.
procedure TForm1.DBGrid1TitleClick(Column: TColumn); begin ShowMessage(IntToStr(Column.Index)); end;
Usando esse código, é retornado não a coluna em que cliquei no título mas sim uma do começo do grid.
Gostaria de saber se existe alguma maneira de retornar a coluna que realmente foi clicada.
Obrigado
Roswel
Posts
31/01/2006
Aroldo Zanela
Não tenho experiência com o problema que você está passando, mas verificando na Clube Delphi - Edição 44 (´Segredos do DBgrid´), contatei que o pessoal usa Column.FieldName para identificar a coluna.
Faz um teste para ver se atende sua necessidade.
31/01/2006
Aroldo Zanela
Não tenho experiência com o problema que você está passando, mas verificando na Clube Delphi - Edição 44 (´Segredos do DBgrid´), contatei que o pessoal usa Column.FieldName para identificar a coluna.
Faz um teste para ver se atende sua necessidade.
31/01/2006
Martins
procedure TForm1.DBGrid1TitleClick(Column: TColumn); begin ShowMessage(IntToStr(Column.Index)); end;
Bem. fiz um teste aqui com 15 colunas e funcionou perfeitamente, me foi mostrado o número das colunas q eu clico.
Igual seu código:
ShowMessage(IntToStr(Column.Index));
Exibe os nomes das colunas assim
ShowMessage(Column.DisplayName);
Boa sorte!!!
01/02/2006
Roswel
Martins, as opções do seu grid teriam de ser essas:
[dgTitles,dgColLines,dgRowLines,dgTabs,dgRowSelect,dgConfirmDelete,dgCancelOnExit]
e o grid tem que ficar com a barra de rolagem horizontal ...
pq eu re-testei e mesmo com ´Column.DisplayName´ num deu certo ... :cry:
Clique aqui para fazer login e interagir na Comunidade :)