Hello Tom,
I would suggest holding a HasEstablishment boolean and rendering the grid accordingly, I believe having two grids in this case and only rendering one should work.
As for the restriction I suggest using the default "New", "Edit" and "Delete" buttons and use entity access to limit what users can do. You can further use the "HasEstablisment" boolean to hide/show any buttons if needed.
Also, if you need help for your Events per establishment grid's xpath, it should be something like "Event_Establishment/Establishment/User_Establishment = [%currentUser%]"
Hope this helps