private void EditRow(DataRowView selected)
 {
     if (selected != null) {
         Int64 rowID = (Int64)selected["ROWID"];
         var frm = new RowEditorWindow(_service, (int)rowID, _mappings, selected);
         frm.Owner = this;
         frm.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;
         if (frm.ShowDialog().GetValueOrDefault(false)) {
             if (frm.Changes.Count > 0) {
                 foreach (string columnName in frm.Changes.Keys) {
                     var newValue = frm.Changes[columnName];
                     _service.UpdateErrorRowField((int)rowID, columnName, newValue);
                     selected[columnName] = newValue;
                 }
             }
         }
     }
 }