>procedure change_grd_source >LPARAMETERS tcNewRecordSource >LOCAL lnSelObjectCount, loGridRef, lnCnt >LOCAL ARRAY laSelectedObject[1], laColumnSources[1] >lnSelObjectCount = ASELOBJ(laSelectedObject) >IF lnSelObjectCount = 0 > WAIT WINDOW 'Select a grid in Form Designer first' nowait > RETURN >ENDIF >loGridRef = laSelectedObject[1] >IF loGridRef.BaseClass # 'Grid' > WAIT WINDOW 'One Grid object must be selected' nowait > RETURN >ENDIF >IF loGridRef.ColumnCount>0 > DIMENSION laColumnSources[loGridRef.ColumnCount] > FOR lnCnt = 1 TO loGridRef.ColumnCount > laColumnSources[lnCnt] = JUSTEXT(loGridRef.Columns(lnCnt).controlsource) > NEXT >ENDIF >loGridRef.RecordSource = tcNewRecordSource >FOR lnCnt = 1 TO loGridRef.ColumnCount > IF !EMPTY(laColumnSources[lnCnt]) > loGridRef.Columns(lnCnt).ControlSource = tcNewRecordSource+'.'+laColumnSources[lnCnt] > loGridRef.Columns(lnCnt).setall('ControlSource',tcNewRecordSource+'.'+laColumnSources[lnCnt]) > ENDIF > >NEXT >>
>procedure change_grd_columns > >LOCAL lnSelObjectCount, loGridRef, lnCnt >LOCAL ARRAY laSelectedObject[1], laColumnSources[1] >lnSelObjectCount = ASELOBJ(laSelectedObject) >IF lnSelObjectCount = 0 > WAIT WINDOW 'Select a grid in Form Designer first' nowait > RETURN >ENDIF >loGridRef = laSelectedObject[1] >IF loGridRef.BaseClass # 'Grid' > WAIT WINDOW 'One Grid object must be selected' nowait > RETURN >ENDIF > >FOR lnCnt = 1 TO loGridRef.ColumnCount > IF NOT EMPTY(loGridRef.Columns(lnCnt).ControlSource) > loGridRef.Columns(lnCnt).Name = 'col'+PROPER(JUSTEXT(loGridRef.Columns(lnCnt).ControlSource)) > oControl = loGridRef.Columns(lnCnt).Controls(2) > cPrefix = ICASE( oControl.BaseClass = 'Textbox','txt' ; > , oControl.BaseClass = 'Combobox','cb' ; > , oControl.BaseClass = 'Checkbox','chk' ; > , oControl.BaseClass = 'Commandbutton', 'cmd' ; > , oControl.BaseClass = 'Container', 'cnt' ; > , oControl.BaseClass = 'Control', 'cnt' ; > ,'obj') > loGridRef.Columns(lnCnt).Controls(1).Name = 'hd' + PROPER(JUSTEXT(loGridRef.Columns(lnCnt).ControlSource)) > loGridRef.Columns(lnCnt).Controls(2).Name = cPrefix+PROPER(JUSTEXT(loGridRef.Columns(lnCnt).ControlSource)) > ENDIF >NEXT >Thanks for the help!