In our scenario, we have a form of several apex:inputfield elements and some other input fields. So they have a default value coming from database. We have implemented a cancel button which currently just reload the page to refresh the content. However, I do have a feeling this is low efficiency. I am trying to think about a way do reset the table without reloading the page.
One approach I can think of is to use an apex:actionfunction which can be called when pressing the button and loading the default values again from database then rerender the form. This approach will probably work (I haven't tried) but will still result in large view state. Is there a better (would prefer client side) way of doing this? No is an absolutely acceptable answer.