>FIXED IT!!!!
>
>The trick is to use Column.DynamicInputMask=["@R ###,###,###.##"] and then you can turn off the Column.Sparse
The .Sparse is one of the best misnomers in all of VFP - it should be set the opposite and called .DynamicAppliesInAllRows, i.e. when .sparse=.t., the dynamic* properties apply to the current row only, for .f. they apply to all rows.
This isn't explained the best way in help, and it doesn't even mention "if .t., the default textbox is shown in all rows but the current". I don't even remember how many times it bit me, and after a while I even gave up trying to understand what it actually meant. It became one of the things to try before getting the grid to work as desired.