Ir para conteúdo
Fórum Script Brasil
  • 0

Ordenar Os Dados Da Grade Ao Clicar No Título Do Campo


Livio Neiva

Pergunta

Eu fiz essas linhas de comandos Para ordenar os dados da grade ao clicar no título do campo

O programa compila, mais quando eu cliclo no titulo do campo aparece a seguinte menssagem de erro!!!

Project sistema.exe raised exception class EOleException with message 'O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado'. Process stopped. Use step or Run to continue.

Eu cliko no OK

e essa outra menssagem de erro volta aparecer.

O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado.

os procedimentos das linhas de comando

foi feita através da propriedade de tabela IndexFieldNames, que define o nome do índice para a classificação, conforme o campo clicado na grade (Column.FieldName)

Crie na tela padrão uma variável global chamada Ascendente do tipo Boolean para que todas as telas de cadastro passem a utilizá-la.

No evento OnShow, da tela padrão, digite: Ascendente := False;

Em FrmCadCliente, no evento OnTitleClick do DBGrid digite:

Ascendente:= not Ascendente;

If Ascendente then

Dm.tab_Clientes.IndexFieldNames := Column.FieldName + ' ASC' <---- (o erro estar nessa linha de comando)

else

Dm.tab_Clientes.IndexFieldNames := Column.FieldName + ' DESC';

end;

Como faço para corrigir esse problema!!!

Agradeço a atenção q a scriptbrasil e seus usuários tem me dado todo esse tempo.

Um excelente incentivo ao aprendizado.

Lívio Neiva

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Livio Neiva, voce não citou que banco está utilizando mas, (indiferente a isto) que eu me lembre, não seria possível acrescentar a informação "ASC" ou "DESC" ao campo a ser utilizado como índice.

A propriedade IndexFieldNames requer apenas nome de campos existentes no dataset. Em tabelas Paradox, por exemplo, esta propriedade aceita estritamente campos compatíveis com os índices criados para a tabela em questão, porém usando SQLServer, lembro-me que isto era indiferente (aparentemente o driver BDE criava uma consulta SQL ordenando de acordo com o campo informado).

Uma alternativa que pode ser estudada é a utilização de queries, onde então você poderia utilizar o sufixo de ordenação. Se for o caso, veja se este post lhe ajuda (alta adicionar o texto ASC ou DESC conforme sua variável)

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Livio Neiva, voce não citou que banco está utilizando mas, (indiferente a isto) que eu me lembre, não seria possível acrescentar a informação "ASC" ou "DESC" ao campo a ser utilizado como índice.

A propriedade IndexFieldNames requer apenas nome de campos existentes no dataset. Em tabelas Paradox, por exemplo, esta propriedade aceita estritamente campos compatíveis com os índices criados para a tabela em questão, porém usando SQLServer, lembro-me que isto era indiferente (aparentemente o driver BDE criava uma consulta SQL ordenando de acordo com o campo informado).

Uma alternativa que pode ser estudada é a utilização de queries, onde então você poderia utilizar o sufixo de ordenação. Se for o caso, veja se este post lhe ajuda (alta adicionar o texto ASC ou DESC conforme sua variável)

Abraços

Ola grande amigo!!!

O banco de dados q estou usando foi criado no access, e todos os campos estão no dataset, tentei mais não consegui resolver.

Agradeço a sua atenção

obrigado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...