Boa Tarde,
tem alguma função que me deixe ao clicar no cabeçalho do grid mudar a ordem do indice, tipo irei fazer uma funcao para usar em codigo e outra no nome.
so queria saber se tem algum evento propriedade do grid !!!
desde ja agradeço
marco maciel
Cabeçalho no GRID mudar ordem do indice??
Moderador: Moderadores
-
mmaciel11
- Usuário Nível 2

- Mensagens: 69
- Registrado em: 23 Mar 2006 11:16
- Localização: sao luis
- Contato:
Cabeçalho no GRID mudar ordem do indice??
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Cabeçalho no GRID mudar ordem do indice??
Olá Marco, faz um teste, acho que vai dar certo.
Abraços,
Código: Selecionar todos
#include "minigui.ch"
Function Main
Priv aRows [20] [3]
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 480 ;
HEIGHT 300 ;
TITLE 'Ordenar Grid' ;
MAIN
aRows [1] := {'Simpson','Homer','555-5555'}
aRows [2] := {'Mulder','Fox','324-6432'}
aRows [3] := {'Smart','Max','432-5892'}
aRows [4] := {'Grillo','Pepe','894-2332'}
aRows [5] := {'Kirk','James','346-9873'}
aRows [6] := {'Barriga','Carlos','394-9654'}
aRows [7] := {'Flanders','Ned','435-3211'}
aRows [8] := {'Smith','John','123-1234'}
aRows [9] := {'Pedemonti','Flavio','000-0000'}
aRows [10] := {'Gomez','Juan','583-4832'}
aRows [11] := {'Fernandez','Raul','321-4332'}
aRows [12] := {'Borges','Javier','326-9430'}
aRows [13] := {'Alvarez','Alberto','543-7898'}
aRows [14] := {'Gonzalez','Ambo','437-8473'}
aRows [15] := {'Batistuta','Gol','485-2843'}
aRows [16] := {'Vinazzi','Amigo','394-5983'}
aRows [17] := {'Pedemonti','Flavio','534-7984'}
aRows [18] := {'Samarbide','Armando','854-7873'}
aRows [19] := {'Pradon','Alejandra','???-????'}
aRows [20] := {'Reyes','Monica','432-5836'}
@ 10,10 GRID Grid_1 ;
WIDTH 445 ;
HEIGHT 240 ;
HEADERS {'Last Name','First Name','Phone'} ;
WIDTHS {140,140,140};
ITEMS aRows ;
VALUE 1 EDIT ;
TOOLTIP 'Editable Grid Control' ;
ON HEADCLICK { {||Ordem(1)} , {||Ordem(2)} , {||Ordem(3)} } ;
JUSTIFY { BROWSE_JTFY_LEFT,BROWSE_JTFY_CENTER, BROWSE_JTFY_CENTER }
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
Func Ordem(nOrd)
aSort(aRows,,,{|x,y| x[nOrd] < y[nOrd]})
DELETE ITEM ALL FROM Grid_1 OF Form_1
FOR i=1 TO LEN(aRows)
Form_1.Grid_1.AddItem ( {aRows[i,1],aRows[i,2],aRows[i,3]} )
NEXT
Form_1.Grid_1.SetFocus
Retu NilToledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
-
mmaciel11
- Usuário Nível 2

- Mensagens: 69
- Registrado em: 23 Mar 2006 11:16
- Localização: sao luis
- Contato:
Re: Cabeçalho no GRID mudar ordem do indice??
Bom dia TOLEDO,
eu monto a gride assim,
e preencho assim,
como ficaria entao.. sou um pouco leigo
desde ja agradeço
eu monto a gride assim,
Código: Selecionar todos
// GRID
@ 020,010 GRID Grid_Funcionario ;
WIDTH 620 ; // largura
HEIGHT 400 ;
HEADERS {"CodFunc","Funcionario","Data Nasc.","Admissão"} ;
WIDTHS {65,280,80,80} ;
FONT "Arial" SIZE 09
Atualiza_GRID_Funcionario()Código: Selecionar todos
Function Atualiza_GRID_Funcionario()
DELETE ITEM ALL FROM GRID_Funcionario OF Frm_Funcionario
/* ENCHE GRID */
Funcionario->(DBGoTop())
Do While !Funcionario->(Eof())
ADD ITEM { str(codfunc,5), nome, Dtoc(dt_nasc), Dtoc(dt_admis) } TO Grid_Funcionario OF Frm_Funcionario
Funcionario->(DBSkip())
Enddo
MODIFY GRID_Funcionario OF Frm_Funcionario VALUE 1desde ja agradeço
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Cabeçalho no GRID mudar ordem do indice??
Olá Marco, veja este exemplo:
Abraços,
Código: Selecionar todos
#include "minigui.ch"
Function Main
HB_LANGSELECT("PT")
SET DATE TO BRITISH
SET CENT ON
SET EPOCH TO 1920
SET( _SET_DELETED , .t. )
AbreArq()
if Funcionario->(LastRec())=0
Funcionario->(DBAppend())
Funcionario->codfunc := 1
Funcionario->Nome := "PAULO CESAR TOLEDO"
Funcionario->dt_nasc := CTOD("29/05/1962")
Funcionario->dt_admis := CTOD("01/01/2009")
Funcionario->(DBAppend())
Funcionario->codfunc := 2
Funcionario->Nome := "MARCO MACIEL"
Funcionario->dt_nasc := CTOD("01/06/1980")
Funcionario->dt_admis := CTOD("01/05/2007")
Funcionario->(DBAppend())
Funcionario->codfunc := 3
Funcionario->Nome := "ROBERTO CARLOS"
Funcionario->dt_nasc := CTOD("19/04/1943")
Funcionario->dt_admis := CTOD("20/10/2001")
Funcionario->(DBAppend())
Funcionario->codfunc := 4
Funcionario->Nome := "LUCIANO HUCK"
Funcionario->dt_nasc := CTOD("03/09/1971")
Funcionario->dt_admis := CTOD("15/02/2009")
Funcionario->(DBAppend())
Funcionario->codfunc := 5
Funcionario->Nome := "SILVIO SANTOS"
Funcionario->dt_nasc := CTOD("12/12/1930")
Funcionario->dt_admis := CTOD("25/08/1970")
Funcionario->(DBAppend())
Funcionario->codfunc := 6
Funcionario->Nome := "JOSE DA SILVA"
Funcionario->dt_nasc := CTOD("22/07/1980")
Funcionario->dt_admis := CTOD("01/01/2009")
Funcionario->(DBAppend())
Funcionario->codfunc := 7
Funcionario->Nome := "MANOEL DOS SANTOS"
Funcionario->dt_nasc := CTOD("18/01/1978")
Funcionario->dt_admis := CTOD("01/06/2006")
endif
DEFINE WINDOW Frm_Funcionario ;
AT 0,0 ;
WIDTH 550 ;
HEIGHT 300 ;
TITLE 'Ordenar Grid' ;
MAIN
@ 10,10 GRID Grid_Funcionario ;
WIDTH 530 ;
HEIGHT 240 ;
HEADERS {'CodFunc','Funcionário','Data Nasc.','Admissão'} ;
WIDTHS {65,280,80,80};
TOOLTIP 'Clique no cabeçalho do Grid para mudar a Ordem' ;
ON HEADCLICK { {||Ordem(1)} , {||Ordem(2)}, Nil, Nil } ;
FONT "Arial" SIZE 9
END WINDOW
Ordem(1)
CENTER WINDOW Frm_Funcionario
ACTIVATE WINDOW Frm_Funcionario
Return
Func Ordem(nOrd)
Funcionario->(DBSetOrder(nOrd))
DELETE ITEM ALL FROM Grid_Funcionario OF Frm_Funcionario
Funcionario->(DBGoTop())
Do While !Funcionario->(Eof())
ADD ITEM { strzero(codfunc,5), nome, Dtoc(dt_nasc), Dtoc(dt_admis) } TO Grid_Funcionario OF Frm_Funcionario
Funcionario->(DBSkip())
Enddo
MODIFY GRID_Funcionario OF Frm_Funcionario VALUE 1
Retu Nil
Func AbreArq()
Local aarq := {}
Local cPath := DiskName()+":\"+CurDir()+"\"
Local ArqBase := cPath + "Func.DBF"
If ! FILE( (ArqBase) )
Aadd( aArq , { 'codfunc' , 'N' , 05 , 0 } )
Aadd( aArq , { 'nome' , 'C' , 30 , 0 } )
Aadd( aArq , { 'dt_nasc' , 'D' , 08 , 0 } )
Aadd( aArq , { 'dt_admis' , 'D' , 08 , 0 } )
DBCreate ( (ArqBase) , aarq )
EndIf
Use (ArqBase) Alias Funcionario new shared
If !File( cPath+'Func1.ntx' )
Index on strzero(codfunc,5) to (cPath)+"Func1"
Endif
If !File( cPath+'Func2.ntx' )
Index on Nome to (cPath)+"Func2"
Endif
Funcionario->(DBCLearIndex())
Funcionario->(DBSetIndex( cPath+'Func1'))
Funcionario->(DBSetIndex( cPath+'Func2'))
Retu NilToledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
-
mmaciel11
- Usuário Nível 2

- Mensagens: 69
- Registrado em: 23 Mar 2006 11:16
- Localização: sao luis
- Contato:
Re: Cabeçalho no GRID mudar ordem do indice??
Blz amigao funcionou 100%
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1