WITH This.Parent IF PEMSTATUS( .Parent, 'SetOrder', 5 ) .Parent.SetOrder( JUSTEXT( .ControlSource ) ) ENDIF ENDWITHThis code in the grid's SetOrder() method:
LPARAMETERS tcTag LOCAL lnRecNo, laTags[ 1 ] *** Make sure a valid tag name was passed IF ! EMPTY( tcTag ) *** Make sure we have the procedure file loaded so we can access the *** IsTag() function SET PROCEDURE TO Ch06 ADDITIVE WITH This *** Make sure it really is a tag for the grid's RecordSource *** Get all open indexes for the specified table ATagInfo( laTags, "", .RecordSource ) IF ASCAN( laTags, tcTag, -1, -1, 1, 7 ) > 0 lnRecNo = RECNO( .RecordSource ) *** Go ahead and set the order for the table SELECT ( .RecordSource ) SET ORDER TO ( tcTag ) IF lnRecNo # 0 GO lnRecNo IN ( .RecordSource ) ENDIF .SetFocus() ENDIF ENDWITH ENDIF