public override void OnValueChanged(SourceGrid.CellContext sender, EventArgs e)
        {
            base.OnValueChanged(sender, e);
            SuplementsGrid grid1 = (SuplementsGrid)sender.Grid;

            SuplementItemDTO entry = null;
            var row = grid1.Rows[sender.Position.Row];

            if (row == null)
            {
                return;
            }
            if (row.Tag == null)
            {
                entry   = new SuplementItemDTO();
                row.Tag = entry;
                suplementEntry.AddItem(entry);
                parent.AddEmptyRow();
                if (SuplementsSettings.Default.SetCurrentTime)
                {
                    entry.Time = DateTime.Now;
                    entry.Time = DateHelper.MoveToNewDate(entry.Time, suplementEntry.TrainingDay.TrainingDate);
                }
            }
            else
            {
                entry = (SuplementItemDTO)row.Tag;
            }

            entry.SuplementId = (Guid)sender.Value;
            //grid1[row.Index, SuplementsGrid.DosageTypeColumn].Value = DosageType.Grams;
            var selectedItem = from t in ((SourceGrid.Cells.Editors.ComboBox)grid1[row.Index, SuplementsGrid.DosageTypeColumn].Editor).Control.Items.Cast <ComboBoxItem>() where (DosageType)t.Tag == DosageType.Grams select t;

            grid1[row.Index, SuplementsGrid.DosageTypeColumn].Value = selectedItem.SingleOrDefault();

            grid1[row.Index, SuplementsGrid.SuplementTypeColumn].View.ForeColor = Color.Black;
            grid1[row.Index, SuplementsGrid.TimeColumn].Value   = entry.Time;
            grid1[row.Index, SuplementsGrid.DosageColumn].Value = entry.Dosage;
            parent.UpdateCellsReadOnlyMode(row);

            if (!parent.ReadOnly && !(grid1[row.Index, SuplementsGrid.DeleteButtonColumn] is SourceGrid.Cells.Button))
            {
                var bnCol1 = new SourceGrid.Cells.Button(null);
                bnCol1.Image       = SuplementsResources.Delete;
                bnCol1.ToolTipText = SuplementsEntryStrings.DeleteThisEntryTip;
                var ctrButton1 = new SourceGrid.Cells.Controllers.Button();
                ctrButton1.Executed += new EventHandler(deleteRowBtn_Execute);
                bnCol1.View          = new SourceGrid.Cells.Views.Button();
                bnCol1.AddController(ctrButton1);
                grid1[row.Index, SuplementsGrid.DeleteButtonColumn] = bnCol1;
            }
        }
        public override void OnValueChanged(SourceGrid.CellContext sender, EventArgs e)
        {
            base.OnValueChanged(sender, e);
            Grid grid1 = (Grid)sender.Grid;

            var row = grid1.Rows[sender.Position.Row];

            if (row == null)
            {
                return;
            }
            MapperEntry entry = null;

            if (row.Tag == null)
            {
                entry   = new MapperEntry();
                row.Tag = entry;
                parent.AddEmptyRow();
                parent.MapperData.Entries.Add(entry);
            }
            else
            {
                entry = (MapperEntry)row.Tag;
            }
            Guid newId = (Guid)sender.Value;

            if (sender.Position.Column == ExerciseMapperWindow.FromExerciseColumn)
            {
                entry.FromExerciseId = newId;
            }
            else
            {
                entry.ToExerciseId = newId;
            }


            parent.UpdateCellsReadOnlyMode(row);
            grid1[row.Index, sender.Position.Column].View.ForeColor = Color.Black;
            if (!(grid1[row.Index, ExerciseMapperWindow.DeleteColumn] is SourceGrid.Cells.Button))
            {
                var bnCol1 = new SourceGrid.Cells.Button(null);
                bnCol1.Image       = StrengthTrainingResources.Delete;
                bnCol1.ToolTipText = StrengthTrainingEntryStrings.DeleteThisEntryBtn;
                var ctrButton1 = new SourceGrid.Cells.Controllers.Button();
                ctrButton1.Executed += new EventHandler(ctrButton1_Executed);
                bnCol1.View          = new SourceGrid.Cells.Views.Button();
                bnCol1.AddController(ctrButton1);
                grid1[row.Index, usrStrengthTrainingSourceGridBase.DeleteRowColumnIndex] = bnCol1;
            }
        }