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

Ordenar Um Dbgrid


Illuminati

Pergunta

Eu tenho uim combobox e nele eu seleciono o codigo do cliente. Tendo o codigo eu listo todas as contas que esse cliente deve nesse BDGRID. Eu preciso ordenar esse DBGRID pela data de vencimento, e pelo que eu já andei lendo aqui no forum a unica maneira é usando indices, so que eu tento de tudo aqui e ele não vai...

Esse DBGRID é preenchido por uma Table. Eu tenho outro que era preenchido por uma query e esse eu não tive problemas, foi so colocar um order by data de vencimento...

alguém poderia mostrar ai como eu resolvo meu probleminha? To a um tempinho já tentando e está foda...

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Illuminati, você utiliza Paradox?

- crie um índice composto por dois campos: o primeiro sendo o Código do Cliente e o segundo a data de vencimento (ascendente ou descendente conf. você queira); você pode fazer isto utilizando o Database Desktop

- no seu programa selecione na propriedade IndexName o índice que você criou;

- após a seleção do cliente (código) no combobox, utilize SetRange para filtrar o cliente na sua tabela: TabCliente.SetRange(....) - veja help

Daí você deverá estar vendo todos os dados do cliente ordenado pela data de vencimento.

Se for outro banco, podem haver alternativas.

Link para o comentário
Compartilhar em outros sites

  • 0
SQL Server...
com certeza o procedimento para criação do indice não funcionará, já que é válido para o Paradox.

Mas quando trabalhei com SQLServer e TTable, era fácil criar índices se sem qualquer ferramenta. você não seleciona qualquer índice para a tabela, apenas na propriedade IndexFieldNames você define os campos que deseja para a ordenação: Ex. CodCliente;DatVencimento

Só não estou lembrado se você separa com vírgula ou ponto e vírgula.

O SetRange vai funcionar corretamente apenas com o índice definido na sequência CodCliente e DatVencimento, já que ele trabalha encima do índice definido.

[]s

Link para o comentário
Compartilhar em outros sites

  • 0
Ele agora não faz coisas que fazia antes... De modo que vou ter que ordenar isso de outra forma.
Que tipo de coisa?

Se você utiliza o método SetRange, para modificar este range deve chamar CancelRange.

O objetivo do SetRange é na verdade restringir a consulta às linhas que contenham o filtro indicado. Se a questão for apenas ordenar, e não filtrar no Grid baseado no ComboBox, então cancele a idéia do SetRange.

Esse DBGRID é preenchido por uma Table. Eu tenho outro que era preenchido por uma query e esse eu não tive problemas, foi so colocar um order by data de vencimento...
Não daria para utilizar neste uma Query também?

[]s

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