Then that's your problem.
This is because you use
ThisForm.SetAll("DynamicBackColor... in both Grid.Init() instead of
This.SetAll("DynamicBackColor...
It would work fine if there is just one grid in the form, but if there are more - the second grid.Init() will override the Dynamic... properties for the columns in the first grid too, and you will have identical expressions relying on the same alias.
THISFORM.SetAll will set the property for ALL the grids in the form.
On the contrary THIS.Setall will set them only for one grid in which INIT() it is issued.
>I didn't mention this, but I have TWO grids in ONE form. Does that have anything to do with that? Here it is again...
>
>--Grid1 Init--
>*ThisForm.SetAll("DynamicBackColor", ;
>* "IIF(RECNO('authtype') =ThisForm.nGridRecno, RGB(193,255,255),"+ ;
>* "RGB(255,255,255))", "Column")
>ThisForm.SetAll("DynamicBackColor", ;
> "IIF(RECNO('authtype') # ThisForm.nGridRecno, RGB(255,255,255),"+ ;
> "RGB(193,255,255))", "Column")
>
>--Grid1 AfterRowColChange--
>LPARAMETERS nColIndex
>ThisForm.nGridRecno = RECNO("authtype")
>This.Refresh()
>
>--Grid1 Refresh--
>DODEFAULT()
>
>now for the 2nd grid on the same form...
>
>--Grid2 Init--
>*ThisForm.SetAll("DynamicBackColor", ;
>* "IIF(RECNO('org') =ThisForm.nGridRecno, RGB(193,255,255),"+ ;
>* "RGB(255,255,255))", "Column")
>ThisForm.SetAll("DynamicBackColor", ;
> "IIF(RECNO('org') # ThisForm.nGridRecno, RGB(255,255,255),"+ ;
> "RGB(193,255,255))", "Column")
>
>--Grid2 AfterRowColChange--
>LPARAMETERS nColIndex
>ThisForm.nGridRecno = RECNO("org")
>This.Refresh()
>
>--Grid2 Refresh--
>DODEFAULT()
Nick Neklioudov
Universal Thread Consultant
3 times Microsoft MVP - Visual FoxPro
"I have not failed. I've just found 10,000 ways that don't work." - Thomas Edison