One way that comes to mind: Add a boolean attribute to the entity. When the button is clicked, set that boolean to true. Now you can use that boolean to create conditional styling (i.e. maybe a LayoutGrid with 2 rows, the first one is visible when GrayOut is false and has editable fields in it, the second one is visible when GrayOut is true and has read only fields in it).
Hope that helps,