This should be managed through security. Not by editability in the page field.
because setting a input field in a page not editable, doesn’t block a user from entering data bypassing the page directly on the server. And thus making it not editable is just a fake solution.
I understand that the object displayed in the dataview undergoes a status change. when new, then a user is allowed to edit, when submitted its not. So add a XPath on security level on the related entity.
First Access rule
Role: User
Access rights: RW
XPath [WhatEverStatusIsDefiningTheNewStatus]
Second access rule
Role: User
Access rights: R
XPath [All other cases] or even no XPath defined
Third Access rule
Role: Administrator
Access rights: RW
XPath: non