If we don't have rowdata, we do have to read form inputs

.. but if we do both, we end up stepping on the selection fields in
rowdata (because absent selection fields are removed).
While dealing with a datagrid row, the value may be a string

This feels kludgy to me, but don't know how to improve it at the moment
Newline