//update the cell value in the dataGridView1 private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { var cellVal = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value; string newVal = String.Empty; if (cellVal != null) { newVal += cellVal.ToString(); } Spreadsheet.SpreadsheetCell cell = ss.SS_Array[e.RowIndex, e.ColumnIndex]; List <IInvertibleCmd> cmds = new List <IInvertibleCmd>(); if (cell.newCellText == null || (cell.cellValue != newVal && cell.newCellText != newVal)) { cell.newCellText = newVal; cmds.Add(new restoreText(cell)); } if (cmds.Count > 0) { ss.AddUndo(new MultiCmd("Undo cell text", cmds)); undoToolStripMenuItem.Enabled = true; undoToolStripMenuItem.Text = "Redo cell text"; } }
//Function that that updates the cell value and update it in DataGridView private void Cell_PropertyChanged(object sender, PropertyChangedEventArgs e) { Spreadsheet.SpreadsheetCell cell = sender as Spreadsheet.SpreadsheetCell; dataGridView1.Rows[cell.rowIndex].Cells[cell.columnIndex].Value = cell.cellValue; dataGridView1.Rows[cell.rowIndex].Cells[cell.columnIndex].Style.BackColor = Color.FromArgb((int)cell.BgColor); }