SELECT tmpfloor WITH thisform.grdfloor .column23.sparse = .f. .column23.dynamiccurrentControl = 'IIF( EMPTY(tmpfloor.fn_comment),"CmdBlack","CmdBlue" )' .Scrollbars = 3 ENDWITH SELECT tmpfloor WITH thisform.grdfloor .column4.sparse = .f. .column4.dynamiccurrentControl = 'IIF( tmpfloor.fn_finish = "FLOOR"; OR EMPTY(tmpfloor.fn_finish),"ComboFloor", ; IIF(tmpfloor.fn_finish = "CEILING","ComboCeiling","ComboWall" )) ' .scrollbars = 3 ENDWITHIn the form's INIT, a method is called that sets up the grid properties...
.column4.controlsource = "tmpfloor.fn_type" .column4.ComboCeiling.ColumnCount = 1 .column4.ComboCeiling.ColumnWidths = "120" .column4.ComboCeiling.ColumnLines = .t. .column4.ComboCeiling.DisplayCount = 6 .column4.ComboCeiling.rowsourcetype = 3 && - SQL Statement .column4.ComboCeiling.rowsource = "SELECT floortype FROM floor ; ORDER BY floortype INTO CURSOR _cfloorC ; WHERE UPPER(floor.floorfin)='CEILING'" .column4.ComboFloor.ColumnCount = 1 .column4.ComboFloor.ColumnWidths = "120" .column4.ComboFloor.ColumnLines = .t. .column4.ComboFloor.DisplayCount = 6 .column4.ComboFloor.rowsourcetype = 3 && - SQL Statement .column4.ComboFloor.rowsource = "SELECT floortype FROM floor ; ORDER BY floortype INTO CURSOR _cfloorR ; WHERE UPPER(floor.floorfin)='FLOOR'" .column4.currentcontrol = "ComboFloor" .column4.ComboWall.ColumnCount = 1 .column4.ComboWall.ColumnWidths = "120" .column4.ComboWall.ColumnLines = .t. .column4.ComboWall.DisplayCount = 6 .column4.ComboWall.rowsourcetype = 3 && - SQL Statement .column4.ComboWall.rowsource = "SELECT floortype FROM floor ; ORDER BY floortype INTO CURSOR _cfloorW ; WHERE UPPER(floor.floorfin)='WALL'"When the form displays, regardless of the value in the "type" combo (1st column), the "currentcontrol" combo in the 2nd column is not predicated on the field referenced in the "dynamicacurrentcontrol" command used in the form's activate. Wondering if i should bail on the SQL statements as the row source and go w/ cursors.