Here's a VIDEO link to my [a few tweaks needed] end-product in action.
I have an Inventory table.
I have a UserListMaster table. For now, a user can only have 1 list, but could have many. At login I create the user's "List" record if not found.
User.ps_UserList points to his "default list".
In "between" those two records is the many-to-many link table (UserListRecs). In whatever list the user is currently pointing to (again, for now its only pointing to his 1 list, but users COULD have many user-defined lists which contain saved record sets... but this is too complicated for some and not needed now, but the framework is there) I can add a pointer to any given Inventory record (in the video as I add recs to my list).
The grid just FINDs only the LoggedInUser's records in the many-to-many table... with a shortcut to Inventory fields that I want to display.
I have another table InvBulkEdit which is the Form that comes up to enter Bulk Edit values into. Thats a table that holds only 1 record.
Phase 1 is just simple management of the List.
Phase 2 is a simple 2-part process.
Find the user's list (same thing the grid does) to load a set of recs into Context, then
A sub-process which gets all of the UserListRecs "passed to it" for processing.
Its FINDs the InvBulkEdit record, and FINDs each Inventory record to edit.
Then just a series of Rules...
IF InvBulkEdit.ps_Owner IS DEFINED, then set the owner.
IF InvBulkEdit.Condition IS DEFINED, then set the condition.
IF InvBulkEdit.PHI = "Set to Checked" then set PHI = 1.
etc etc
Good luck!