enableviewstate is a page-level session mechanism used to maintain the state of the controls between page requests. It uses the hidden variable __VIEWSTATE. enableviewstate is set to true for all controls by default.
__VIEWSTATE keeps the data and the property values of the controls, which increases the number of bytes that need to be transfered.
When you’re using the DataGrid as a read-only reporting mechanism, it’s worthwhile to set enableviewstate to true.
However, when you’re using the DataGrid as a data entry form, users can add, update, and delete entries?and every one of those actions requires you to rebind the data source to the DataGrid to display the changes.
Rebinding populates fresh values to the datagrid control, totally invalidating the purpose of keeping the state information in __VIEWSTATE in the first place.