*-------------- column class -------------- DEFINE CLASS _column as Column headerclasslibrary="column.prg" headerclass="_header" xorder="" ADD OBJECT _textbox as _textbox currentcontrol="_textbox" sparse=.t. PROCEDURE Init ENDPROC PROCEDURE Destroy ENDPROC PROCEDURE Error(nError, cMethod, nLine) ENDPROC ENDDEFINE *-------------- header class -------------- DEFINE CLASS _header as Header alignment=2 PROCEDURE Init ENDPROC PROCEDURE Destroy ENDPROC PROCEDURE Error(nError, cMethod, nLine) ENDPROC PROCEDURE click IF EMPTY(this.Parent.xorder) RETURN ENDIF SELECT (this.Parent.parent.recordsource) LOCAL xascmi xascmi=UPPER(this.Picture)='pic\_SORTASC.BMP' this.Parent.parent.setall("Picture","") IF ORDER()=UPPER(this.Parent.xorder) IF m.xascmi this.Picture='pic\_SORTDES.BMP' SET ORDER TO (this.Parent.xorder) DESCENDING ELSE this.Picture='pic\_SORTASC.BMP' SET ORDER TO (this.Parent.xorder) ASCENDING ENDIF ELSE SET ORDER TO (this.Parent.xorder) ASCENDING this.Picture='pic\_SORTASC.BMP' ENDIF this.Parent.parent.refresh ENDPROC ENDDEFINE