Agnes,
Here is a code of Load event of the form dedicated by me just for showng this issue. I wouldn't litter the download section with "working" sample of this form. But if you or somebody else insist I shall do.
CREATE CURSOR Years (ID N(4), DESCRIPTION C(10))
CREATE CURSOR Months (ID N(7,2), YearID N(4), DESCRIPTION C(20))
CREATE CURSOR Days (MonthId N(7,2), DESCRIPTION C(20))
SELECT Days
INDEX ON MonthId TAG MonthId
SET ORDER TO TAG MonthId
GO TOP
SELECT Months
INDEX ON YearID TAG YearID
SET ORDER TO TAG YearID
SET RELATION TO ID INTO Days
GO TOP
SELECT Years
SET RELATION TO ID INTO Months
GO TOP
I show Description fields of these cursors in three grids having:
RecordSource='Years' (Months, Days)
AllowCellSelection=.F.
HighlightStyle=2
HighlightBackColor=128,128,255
PROCEDURE When
this.HighlightBackColor=RGB(0,0,190)
ENDPROC
PROCEDURE Valid
this.HighlightBackColor=RGB(128,128,255)
ENDPROC
All the other grids' members - by default and by form design.
When I simply move between grids with Tab key I see that "Months" and "Days" grids always return to their tops whichever records I select on them before.
Evgeny