CREATE CURSOR SomeData (Id Int Autoinc, Name Varchar(12), Sex Char(1)) INSERT INTO SomeData (Name, Sex) VALUES ('Jerry', 'M') INSERT INTO SomeData (Name, Sex) VALUES ('George', 'M') INSERT INTO SomeData (Name, Sex) VALUES ('Elaine', 'F') INSERT INTO SomeData (Name, Sex) VALUES ('Cosmo', 'M') LOCAL Test AS TwoPagedForm m.Test = CREATEOBJECT("TwoPagedForm") m.Test.Show(1) DEFINE CLASS TwoPagedForm AS Form ADD OBJECT pgf AS PageFrame WITH PageCount = 2 FUNCTION Init WITH This.pgf.Pages(1) AS Page .AddObject("txt", "Textbox") .txt.Visible = .T. ENDWITH WITH This.pgf.Pages(2) AS Page .AddObject("grd", "Grid") .grd.Visible = .T. ENDWITH BINDEVENT(This.pgf.Pages(1).txt, "LostFocus", This, "GetInfo", 1) ENDFUNC FUNCTION Destroy UNBINDEVENTS(This) ENDFUNC FUNCTION GetInfo SELECT * FROM SomeData WHERE Sex == UPPER(ALLTRIM(This.pgf.Pages(1).txt.Value)) INTO CURSOR SomeFilteredData GO TOP IN SomeFilteredData WITH Thisform.pgf.Pages(2) AS Page WITH .grd AS Grid .RecordSource = "SomeFilteredData" .RecordSourceType = 1 .ColumnCount = 2 WITH .Columns(1) AS Column .Alignment = 0 .Header1.Caption = "Name" .ControlSource = "SomeFilteredData.Name" .Width = 100 ENDWITH WITH .Columns(2) AS Column .Alignment = 1 .Header1.Caption = "Id" .ControlSource = "SomeFilteredData.Id" .Width = 100 ENDWITH ENDWITH ENDWITH ENDFUNC ENDDEFINE