void dataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var selected = dataGrid.SelectedItem as DataRowView;

            if (selected != null)
            {
                var   columnName      = dataGrid.CurrentCell.Column.Header as string;
                Int64 rowID           = (Int64)selected["ROWID"];
                var   currentValueObj = selected[columnName];

                var currentValue = currentValueObj as string;
                if (currentValue == null && currentValueObj != null)
                {
                    currentValue = currentValueObj.ToString();
                }

                var mapping = _mappings.First((candidate) => {
                    return(candidate.SourceColumn.Equals(columnName));
                });

                var frm = new CellEditorWindow(mapping, currentValue);
                frm.Owner = this;

                if (frm.ShowDialog().GetValueOrDefault(false))
                {
                    _service.UpdateErrorRowField((int)rowID, columnName, frm.NewValue);
                    selected[columnName] = frm.NewValue;
                }
            }
        }
        void dataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            var selected = dataGrid.SelectedItem as DataRowView;
            if (selected != null) {
                var columnName = dataGrid.CurrentCell.Column.Header as string;
                Int64 rowID = (Int64)selected["ROWID"];
                var currentValueObj = selected[columnName];

                var currentValue = currentValueObj as string;
                if (currentValue == null && currentValueObj != null) {
                    currentValue = currentValueObj.ToString();
                }

                var mapping = _mappings.First((candidate) => {
                    return candidate.SourceColumn.Equals(columnName);
                });

                var frm = new CellEditorWindow(mapping, currentValue);
                frm.Owner = this;

                if (frm.ShowDialog().GetValueOrDefault(false)) {
                    _service.UpdateErrorRowField((int) rowID, columnName, frm.NewValue);
                    selected[columnName] = frm.NewValue;
                }

            }
        }