>LOCAL lnColumnCount, loColumn, lcName, lnCol >SET PROCEDURE TO GridMembers.prg ADDITIVE >lnColumnCount = This.ColumnCount >IF lnColumnCount > 0 > *** dimension the arrays properly > DIMENSION This.aControlSources[ lnColumnCount ] > DIMENSION This.aCaptions[ lnColumnCount ] > *** Remove all the base class columns > FOR lnCol = 1 TO lnColumnCount > *** Save the colntrolSource and the Caption > This.aControlsources[ lnCol ] = EVALUATE( 'This.Column' + TRANSFORM( lnCol ) + '.ControlSource' ) > This.aCaptions[ lnCol ] = EVALUATE( 'This.Column' + TRANSFORM( lnCol ) + '.Header1.Caption' ) > This.RemoveObject( 'Column' + TRANSFORM( lnCol ) ) > ENDFOR > *** Now add the custom columns > FOR lnCol = 1 TO lnColumnCount > lcName = 'Column' + TRANSFORM( lnCol ) > This.AddObject( lcName, 'colCustom' ) > loColumn = EVALUATE( 'This.' + lcName ) > loColumn.ControlSource = This.aControlsources[ lnCol ] > loColumn.Header1.Caption = This.aCaptions[ lnCol ] > loColumn.Visible = .T. > ENDFOR >ENDIF >Yes that must be done if a grid was visual created.