Clipper On Line • Ver Tópico - Ordenando Browse Array

Ordenando Browse Array

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Ordenando Browse Array

Mensagempor asimoes » 05 Mar 2018 10:29

Consegui fazer ordenação de um browse tipo array
Ao clicar no Header da coluna faço a ordenação do vetor ascendente/descendente : função OrdenaArray()
Definição do array
    oBrowse1:freeze         := 1
    oBrowse1:aArray         := {}
    oBrowse1:HighlightStyle := 1
    oBrowse1:sepColor       := 16711680
    oBrowse1:tcolorSel      := Hwg_Rgb(0, 0, 0)
    oBrowse1:bcolorSel      := 16776960
    oBrowse1:headColor      := 16711680
    oBrowse1:lAdjRight      := .F.
    oBrowse1:AddColumn( HColumn():New('Código', hwg_ColumnArBlock() ,'C', 6, 2 ,.F.,0,,'@R 99.99',,,,,{|| OrdenaArray(1) },,,,))
    oBrowse1:AddColumn( HColumn():New('Ativo', hwg_ColumnArBlock()  ,'C', 5, 0 ,.F.,1,1,,,,,,{|| OrdenaArray(2) },,,,))
    oBrowse1:AddColumn( HColumn():New('Sigla', hwg_ColumnArBlock() ,'C', 20, 0 ,.F.,0,,,,,,,{|| OrdenaArray(3) },,,,))
    oBrowse1:AddColumn( HColumn():New('Descrição', hwg_ColumnArBlock() ,'C', 50, 0 ,.F.,0,,,,,,,{|| OrdenaArray(4) },,,,))
    oBrowse1:AddColumn( HColumn():New('Responsável', hwg_ColumnArBlock() ,'C', 40, 0 ,.F.,0,,,,,,,{|| OrdenaArray(5) },,,,))
    oBrowse1:AddColumn( HColumn():New('Cargo', hwg_ColumnArBlock() ,'C', 60, 0 ,.F.,0,,,,,,,{|| OrdenaArray(6) },,,,))
    oBrowse1:AddColumn( HColumn():New('Recebe Circular?', hwg_ColumnArBlock() ,'C',16, 0 ,.F.,1,1,,,,,,,,,,))
    oBrowse1:AddColumn( HColumn():New('Rec. Circ. Mensal?', hwg_ColumnArBlock() ,'C',20, 0 ,.F.,1,1,,,,,,,,,,))

Função Ordena Array
FUNCTION OrdenaArray( nPos )
THREAD STATIC lDescend := .F.

   nColBrow := nPos
   
   IF ! lDescend
      aSort( ThisForm:oBrowse1:aArray ,,, {|x,y| y[nColBrow] > x[nColBrow] } )
      lDescend := .T.
   ELSE
      aSort( ThisForm:oBrowse1:aArray ,,, {|x,y| x[nColBrow] > y[nColBrow] } )
      lDescend := .F.
   ENDIF
       
   ThisForm:oBrowse1:Refresh()

RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 3730
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 209 vezes
Mens.Curtidas: 158 vezes

Ordenando Browse Array

Mensagempor hazael » 18 Abr 2018 17:28

Parece interessante mas você não teria um exemplo completo disso?
Harbour | GTWVT | MingW | Visual Studio Code
Avatar de usuário

hazael
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 192
Data de registro: 27 Nov 2016 12:59
Curtiu: 2 vezes
Mens.Curtidas: 13 vezes




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Faça uma doação para o forum
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro