How empty is an empty RecordSource?
Can a record source be empty? Is empty the same as empty? Are all empty record sources equal, or are some more equal than others? Does a grid suffer it doesn't have a record source? Questions over questions...
...and not easy ones, for sure. The grid distinguishes empty as in having the default value and empty as in specifying an empty string as the record source value.
The second one means just that. The record source is unknown, empty, unspecified, unavailable. Not knowing what do the grid just stares blank at you, literally.
The first one, leaving the grid at the blank default value, though gives the grid the opportunity to show you how smart it is. It figures, you either forgot to specify a record source, or it's so blatantly obvious what record source you want the grid to use. Hence, it uses the cursor in the current work area by default.
If that's what you want, that's fine. However, if you create an index on the record source, specify filter, and assume you can use code like this
IF NOT EMPTY(This.RecordSource)
SET FILTER TO something IN (This.RecordSource)
you are as mistaken as I am every once in a while when I stumble over this behaviour in Visual FoxPro. If you want an empty record source, use ="" for the property value in the form, otherwise specify a valid alias. But don't leave the property simply at its default value.