Problema com DBGrid

31/01/2006

0

Olá, estou com o seguinte problema:
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

Roswel

Responder

Posts

31/01/2006

Aroldo Zanela

Colega,

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.


Responder

31/01/2006

Aroldo Zanela

Colega,

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.


Responder

31/01/2006

Martins

Olá, estou com o seguinte problema: 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


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!!!


Responder

01/02/2006

Roswel

Ok Aroldo, vou verificar valew!!!

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:


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar