Should I display empty fields in read only display?

I have a desktop application which has many editable fields, about 50 fields grouped into about 6 sections.

When editing, the field's text box will show, then once the user clicks save, the data will be displayed as just text in a read only display. The plan is to do this in the same window (or give the illusion it's in the same window).

The question I ask myself is "does the user need to see the fields that aren't filled in?" The answer is "probably not", but if I don't show them then the fields would would need to be dynamically reorganized so that only the fields that are filled in are displayed in the minimum amount of space. That gets tricky.

I worry that switching between read-only and edit modes could be jarring if the fields are jumping around. In that case, I could use another window for the data entry/editing form.

There are some fields that it might be good to know are empty, and other fields that are less commonly used, so I could try and structure the fields in a way that less commonly used fields are hidden but the empty important fields still show. This might allow me to keep the fields from having to reorganize as much.

My questions to you are:

  • Would it be best to only show fields which are filled in when in read only mode, or is it better to show all fields, even the empty ones? Or is a combination of the two acceptable?
  • Or, only show populated fields when in read only mode and use a different data entry/edit window rather than trying to use the same window/layout structure.
    • If using a new window, is it acceptable to move labels to above the fields in the Edit/Enter window and then use labels to the left of the field for the read only screen?

A mockup of the edit mode: enter image description here

And a mockup of the save mode: enter image description here