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

Oredem Alfabética Num Dbgrid (RESOLVIDO)


Paulo Nobre

Pergunta

Tenho um dbgrid1 com dois campos aparecendo ; nome e telefone.

Os campos vão sendo mostrados de acordo com a ordem de cadastramento.

Como poderia fazer para que os nomes fossem mostrados em ordem alfabética?

Obrigado

Paulo Nobre

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Graymalkin,

O componente SQLMemTable e SQLMemQuery não vem junto com o Delphi. São componentes avulsos que simulam um banco de dados enquanto o programa está aberto. Ao desligar você descarrega num arquivo dat os dados armazenados. Quem me recomemdou estes componentes foi o Capablanca, quando disse que gostaria de criar um programa para catalogar aniversariantes sem o uso de banco de dados. Desta forma não há necessidade de BDE, outras coisas mais e portanto o programa fica bem pequeno. Um exe e um dat.

Claro que não se trata de nenhuma aplicação robusta. Desta forma não sei se um arquivo dat iria aguentar.

s3c,

Este componente(SQLMemTable) é meio fresco, na verdade não é ele e sim o dat. Por exemplo, este programa simples que fiz para minha filha cadastrar contatos tem um campo chamado email. Havia colocado distraidamente size 20 para este campo. Pouco, pois algumas pessoas possuem é claro um email maior. Quando fui consertar e tentar recompilar o dat não muda pois foi criado com o campo de 20, ou seja, como minha filha já havia cadastrado 16 pessoas tive que jogar este dat fora e recriar um novo. Aí sim o campo passou a funcionar com 30. Portanto não estou querendo alterar nada que possa ter que mudar o dat ou o visual do programa.Pelo que entendi de você, com o DBGrid não é possível fazer nada, então deixarei este programa assim mesmo sem ordem alfabética.

Obrigado a vocês, Graymalkim e s3c, sempre ajudando muuuiiitoooo.

Abraços

Paulo Nobre

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, não sei como é a utilização desse componente, mas se ele simula uma tabela de um banco de dados creio que seja possível "avançar" os registros até que seja o final da tabela, certo? Algo como um MoveNext() ou um Skip(). Acredito também que seja possível obter o valor de um determinado campo (o campo "nome", por exemplo) do registro atualmente selecionado. Com isso, seria possível preencher uma matriz ou um vetor (com um registro) e ordená-la(o). Não sei o Delphi tem alguma função que ordene uma matriz ou vetor, mas isso não é problema (pode-se usar o método bolha de ordenação que é o mais intuitivo e simples). Aliás, pensando aqui... nem precisaria disso tudo. Se você pode manipular os registros (editá-los), basta fazer uma ordenação (bolha ou qualquer outra) em relação aos mesmos e no final você teria a tabela ordenada. Sacou? wink.gif

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvi o problema da seguinte maneira:

Criei um índice pelo campo nome.

O componente SQLMemTable tem uma propriedade chamada indexName.

Coloquei esta propriedade para usar o índice pelo campo nome e o DBGrid, como está associado ao SQLMemTable, passou a exibir a lista em ordem alfabética.

Obrigado a todos, que como sempre estão dispostos a ajudar.

Abraços

Paulo Nobre

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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