Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________
Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________
Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________
*-- Click para las columnas del Grid1
FOR lnCols = 1 TO This.Grid1.ColumnCount
lcCol = 'This.Grid1.Column'+TRANSFORM(lnCols)+'.Header1'
BINDEVENT(&lcCol,"Click", This, "ClickHeader")
ENDFOR
El metodo CLICKHEADER (creado por ti)
IF AEVENTS(laObjeto,0) > 0
RELEASE gcFilter
PUBLIC gcFilter AS Variant
lcOldConfirm = SET("Confirm")
loObjetoGrid = ThisForm.NombreGrid
loDataBase = ThisForm.OrigenGrid
lcField = laObjeto[1].Parent.ControlSource
lcCampo = "'"+GETWORDNUM(lcField,2,".")+"'"
lcFileIDX = SYS(2023)+"\"+SUBSTR(SYS(2015),2,10)+".IDX"
lnBAR = 6
lnOpcion = 0
SELECT (loDataBase)
SET INDEX TO
SET ORDER TO
SET FILTER TO
SET CONFIRM ON
*-- CREA CURSOR PARA DATOS UNICOS
USE IN (SELECT('curUNICOS'))
SELECT DISTINCT &lcField AS CampoUnico;
FROM (loDataBase);
INTO CURSOR curUNICOS
GO TOP
*-- TIPO DE DATO
lcTipoDeDato = TYPE('curUNICOS.CampoUnico')
DEFINE POPUP AYUDA SHORTCUT FROM MROW(),MCOL() FONT 'Verdana', 7 SCROLL
DEFINE BAR 01 OF AYUDA PROMPT 'Orden Ascendente'
DEFINE BAR 02 OF AYUDA PROMPT 'Orden Descendente'
DEFINE BAR 03 OF AYUDA PROMPT '\-'
DEFINE BAR 04 OF AYUDA PROMPT '(Todas...)'
DEFINE BAR 05 OF AYUDA PROMPT '\-'
IF TYPE('curUNICOS.CampoUnico') # 'L'
SCAN
DEFINE BAR lnBAR OF AYUDA PROMPT ;
ICASE(TYPE('curUNICOS.CampoUnico') = 'N', STR(CampoUnico,10,2),;
TYPE('curUNICOS.CampoUnico') = 'C', CampoUnico,;
TYPE('curUNICOS.CampoUnico') = 'D', DTOC(CampoUnico), CampoUnico)
lnBAR = lnBAR + 1
ENDSCAN
ENDIF
ON SELECTION POPUP AYUDA lnOpcion = BAR()
ACTIVATE POPUP AYUDA
DEACTIVATE POPUP AYUDA
RELEASE POPUPS AYUDA
USE IN (SELECT('curUNICOS'))
SET CONFIRM &lcOldConfirm
SELECT (loDataBase)
*-- que opciones selecciono
DO CASE
CASE lnOpcion = 1
TRY
INDEX ON &lcField TO (lcFileIDX)
CATCH
ENDTRY
CASE lnOpcion = 2
TRY
INDEX ON &lcField TO (lcFileIDX)
lcIdxFile = JUSTSTEM(lcFileIDX)
SET ORDER TO (lcIdxFile) DESCENDING
CATCH
ENDTRY
CASE lnOpcion = 3
SET INDEX TO
SET ORDER TO
SET FILTER TO
CASE lnOpcion >=6
gcFilter = ICASE(lcTipoDeDato = 'N', VAL(PROMPT()),;
lcTipoDeDato = 'C', PROMPT(),;
lcTipoDeDato = 'D', CTOD(PROMPT()))
TRY
SET FILTER TO &lcField = gcFilter
CATCH
ENDTRY
ENDCASE
GO TOP
lcScriptRefresh = loObjetoGrid + '.Refresh'
lcScriptAutoFit = loObjetoGrid + '.Autofit'
&lcScriptRefresh
&lcScriptAutoFit
ENDIF