>Hi,
>
>my program uses grids to display data from various tables. The grids are based off of cursors that contain selected data from the tables.
>
>When I move from row to row in the controlling grid, inorder to update the other grids I am re-creating the cursors on 'AfterRowColChange' event and reassigning the record source for the grids.
>
>Master Grid - AfterRowColChange
>
>SELECT * from tableA where alltrim(upper(tableA.ID)) == alltrim(upper(MasterTbl.ID)) ;
>into cursor csrA NOFILTER
>
>SELECT * from tableB where alltrim(upper(tableB.ID)) == ALLTRIM(UPPER(MasterTbl.id)) ;
>into cursor csrB NOFILTER
>
>thisform.myfra.Apg.Agrd.recordsource = "csrA"
>thisform.myfra.Bpg.Bgrd.recordsource = "csrB"
>
>But this modifies the column widths in the grids although they are all defined in the design mode. How can I fix this?
You might try creating fixed cursors that match the form of csrA and csrB; when the new selects are performed, ZAP their content and append from the two newly-created cursors. That way, nothing gets changed in the Grid, and the working sets are available for both reading and writing if desired.