SpreadsheetControl.SelectionChanged Event
Fires when the selection changes in an active worksheet.
Namespace: DevExpress.XtraSpreadsheet
Assembly: DevExpress.XtraSpreadsheet.v24.1.dll
NuGet Package: DevExpress.Win.Spreadsheet
Declaration
Event Data
The SelectionChanged event's data class is EventArgs.
Remarks
Handle the SelectionChanged event to perform any actions each time a user selects cells, rows, columns, or drawing objects in the SpreadsheetControl’s UI.
Set the WorkbookEventOptions.RaiseOnModificationsViaAPI property to true to raise the SelectionChanged event when the selection is changed in code.
Use the following API members to specify the selection:
SpreadsheetControl.SelectedCell, Worksheet.SelectedCell - allow you to specify an active cell.
SpreadsheetControl.Selection, Worksheet.Selection - allow you to select the continuous cell range.
SpreadsheetControl.SetSelectedRanges, Worksheet.SetSelectedRanges - allow you to select multiple non-adjacent cell ranges.
Worksheet.SelectedChart - specifies the selected chart.
SpreadsheetControl.SelectedPicture, Worksheet.SelectedPicture - allow you to select a picture.
SpreadsheetControl.SelectedShape, Worksheet.SelectedShape - allow you to select a drawing object.
SpreadsheetControl.SetSelectedShapes, Worksheet.SetSelectedShapes - allow you to select multiple drawing objects.
Example
The example below shows how to use the SelectionChanged event to calculate the average, count, numerical count and sum for non-empty selected cells.
spreadsheetControl1.SelectionChanged += (s, e) =>
{
int count = 0;
double sum = 0.0;
int numericCount = 0;
double average = 0.0;
Worksheet worksheet = spreadsheetControl1.ActiveWorksheet;
Range selectedCells = worksheet.Selection.Intersect(worksheet.GetDataRange());
if (selectedCells != null)
{
foreach (Cell cell in selectedCells.ExistingCells)
{
count++;
if (cell.Value.IsNumeric)
{
numericCount++;
sum += cell.Value.NumericValue;
}
}
}
if (numericCount > 0)
average = sum / numericCount;
};