private void AddUnsavedMarkOnCellChanged(object sender, GridCellsChangedEventArgs e) { int index = tabControl1.SelectedIndex; TabExtraInfo tabInfo; tabInfo = tabMetadataList.ElementAt(index); if (!tabInfo.QueryHasUnsavedChanges()) { tabInfo.SetHasUnsavedChanges(true); tabControl1.SelectedTab.Text = "*" + tabControl1.SelectedTab.Text; // Add asterisk to denote unsaved changes } }
private void FillRangeWithValueOnCellChanged(object sender, GridCellsChangedEventArgs e) { var eventRange = e.Range; if (eventRange.Top != eventRange.Bottom || eventRange.Left != eventRange.Right) { return; } var grid = tabControl1.SelectedTab.Controls.OfType <GridDataBoundGrid>().First(); var modifiedCell = grid[eventRange.Top, eventRange.Left]; var modifiedCellValue = modifiedCell.CellValue; var selectedRanges = grid.Selections.Ranges; foreach (GridRangeInfo selectedRange in selectedRanges) { UpdateRange(selectedRange, grid, modifiedCellValue); } }