>Try Changing
>
>.COLUMNS(GridColumns.ColumnNo).Header1.CAPTION = ;
> GridColumns.ColumnName
>
>To the following :
>
>.COLUMNS(.ColumnCount).Header1.CAPTION = ;
> GridColumns.ColumnName
>
>ie replace GridColumns.ColumnNo, with .ColumnCount in each instance after the Column is added as you are not in Control of the ColumnNo assigned.
Russell,
The following gave similar results - worked for the "other" table, caused the jump from record #1 to record #7 with the "main" table when the CONTROLSOURCE is assigned.
LOCAL lnOldSelect, lnKounter, lcControlSource
lnOldSelect = SELECT()
lnKounter = 0
SELECT GridColumns
GO TOP
SCAN FOR .T.
lnKounter = lnKounter + 1
.ADDCOLUMN(GridColumns.ColumnNo)
.COLUMNS(lnKounter).Header1.CAPTION = GridColumns.ColumnName
.COLUMNS(lnKounter).READONLY = .T.
lcControlSource = pcTableName + [.] + ALLT(GridColumns.GridColumn)
.COLUMNS(lnKounter).CONTROLSOURCE = (lcControlSource)
ENDSCAN
SELECT (lnOldSelect)