Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

D4rk Schn31d3r

ordenar dados numa dbgrid

Recommended Posts

Eu tenho dados provenientes de uma consulta, dentro de uma dbgrid e quero ordená-los sempre q eu clicar no title de uma respectiva coluna em ordem alfabética, se os dados daquela coluna forem do tipo string, ou fazer uma ordenação numérica, caso os dados sejam do tipo inteiro. Como faço isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

descobri como fazer, dessa forma:

 

Private Sub Form_Load()    gTipoOrdenacaoGrid = "DESC"End Sub

Private Sub dgrConsCliente_HeadClick(ByVal ColIndex As Integer)    If gTipoOrdenacaoGrid = "ASC" Then        de.rsspCliente_sps.Sort = dgrConsCliente.Columns(ColIndex).DataField & " ASC"        gTipoOrdenacaoGrid = "DESC"    ElseIf gTipoOrdenacaoGrid = "DESC" Then        de.rsspCliente_sps.Sort = dgrConsCliente.Columns(ColIndex).DataField & " DESC"        gTipoOrdenacaoGrid = "ASC"    End IfEnd Sub

fiz esse exemplo utilizando data environment (de) utilizando uma store procedure (spCliente_sps) do SQL Server 2000, uma variável global q tem q ser setada no carregamento do form, q irá determinar se a ordenação será crescente ou decrescente e um grid chamado: dgrConsCliente, ...

 

de repente do jeito q você propõs, a ordenação pode até ser mais rápida, com uma grande qtd de registros provenientes de uma consulta, pq você está fazendo a ordenação direta no grid, e eu estou fazendo dentro de um recordset, q tem q fazer acesso ao banco, sei lá, ..., de qq forma, não achei uma propriedade de ordenação tipo sort na grid, e por isso utilizei a do recordset.

 

tenta usar as propriedades Columns(ColIndex).DataField , da sua grid, para q você não precise ter q fazer um 'case' para cada coluna dentro dela, isso facilita muito!!!

:D

 

de qq modo, obrigado pela força

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.