Steve,
Processing the view is indeed trivial. I have an app right now where I give the endusers the ability to set the default value for there cbos, where the cbo values are limited to what's in a codes table. Only one of the items can be selected, so the code in the grid's checkbox.Click:
local i
i = recno( "DefaultCodes" )
replace all DefaultCodes.lDefault with .f. && clear the field for all rows
goto i in DefaultCodes
replace lDefault with .t. && set the field for the selected row
replace default.iCode with DefaultCodes.iID && update the default value
It works pretty slick. It also needs code in the KeyPress, MouseDown and MouseUp to NODEFAULT if it's already checked so they can't uncheck all items one of them has to be selected.
>You are right on the money with that solution, it works perfectly and there is no 'mess' and nothing to 'tidy up' afterwards. It also means that I can process the view afterwards, instead of processing the grid, much easier!