I am developing a Windows Forms application to manage legal documents. Users will enter and modify information about these documents and much of this information is hierarchical. Documents have Parties (persons or businesses) and Comments. Parties have Addresses, Comments, etc. See the chart below.
Documents (document number, date) -> Parties (party type, party name) -> Addresses (street address, city, state, zip) -> Comments (comment text, comment date) -> Comments (comment text, comment date)
The current system uses a hierarchical grid to display and edit the data in-line. To me, this creates a "grid hell" that makes the screen too crowded and difficult to read.
Based on other programs I've seen and on some "best practice" documents I've read, I designed a demo in which separate screens were used. The document screen contained a list of parties. When adding or editing a party, a separate window appears with the party details. If the user wanted to see all data for the entire document together, they could click a button and view it in a report format.
However, I received a lot of negative feedback on this design. The users complained that this would make it more difficult and slow to enter data and they wanted to be able to see and edit everything one one screen.
In my opinion, there is a difference between viewing the data and entering the data. I believe my design allows for better data entry and validation as it allows the screen to focus on a specific party as opposed to using one giant screen for editing all information pertaining to a document.
My question is: Is there a preferred method for data entry of hierarchical data? Is there any proven benefit for one method over another? Are there any other options I'm not aware of?