Here is an example of a modal transactional popover on *list view that I created when 13 first came out. It uses Get ( RecordOpenState ) to lock the popover in place if a change is being made, eliminating the need to set global variables or fields. I'm including a screen shot so those with older versions can see what is possible in 13.
It can come in handy if on ipad since we can't open modal windows. You can provide this popover with more details but allow User to scroll the list. If they DO change data, only then does the popover freeze which then requires button to exit. And since there is transparent button over the popover, the user cannot commit the record until time to exit, which provides transactional control and revert for portals - all only when finished and a save is requested.
* The number of records in list view should always be kept at minimum in any technique.
If nothing else, and if you wish for a good laugh, go through the people in the list. They were people who applied for the 'ugliest person in the world' contest. The data is dummy data. I enjoyed putting it together and I hope others find it worthwhile and humorous as well. :-)