protected function _isDirty($column = null) { if ($column) { $mapping = $this->_model->getUnionColumnMapping(); $columns = get_class_vars($mapping); $columns = $columns['columns']; if (in_array($column, $columns)) { return $this->_sourceRow->isDirty($column); } else { return parent::_isDirty($column); } } else { return parent::_isDirty() || $this->_sourceRow->isDirty(); } }