Skip to main content

ColumnView.SelectionChanged Event

Fires when row/cell selection is changed. In v21.1 and higher, the event fires both in single and multiple row selection modes.

Namespace: DevExpress.XtraGrid.Views.Base

Assembly: DevExpress.XtraGrid.v22.2.dll

NuGet Package: DevExpress.Win.Grid


[DXCategory("Property Changed")]
public event SelectionChangedEventHandler SelectionChanged

Event Data

The SelectionChanged event's data class is SelectionChangedEventArgs. The following properties provide information specific to this event:

Property Description
Action Gets an action which describes how the collection has been changed.
ControllerRow Identifies the row whose selected state has been changed.


Single Row Selection (view.OptionsSelection.MultiSelect option is false)

In v21.1 and higher, the following two events fire one after another when a row is focused (selected):

You can handle these events interchangeably to respond to row selection changes. Use the ColumnView.GetSelectedRows method or ColumnView.FocusedRowHandle property to identify the currently focused (selected) row.

In versions prior to v21.1, the SelectionChanged event does not fire when a row receives focus.

Multiple Row Selection (view.OptionsSelection.MultiSelect option is true)

A user can select multiple rows or cells simultaneously when multiple row selection is active. The SelectionChanged event fires every time the row/cell selection is changed. If a specific row/cell is selected, the SelectionChanged event also fires every time the grid’s data is grouped and/or filtered.

Your business logic should not rely on the Action parameter. Values returned by this parameter may change in specific scenarios in the future. Currently, when rows are selected, the SelectionChanged event fires with the Action parameter set to Add or Refresh (depending on how rows are selected). When rows are deselected, the Action parameter returns either Remove or Refresh (depending on how rows are deselected).

The ControllerRow event parameter may return the GridControl.InvalidRowHandle property’s value when a single row is selected. It also returns this value after the selected row collection has been refreshed. For instance, this happens after the data has been grouped or filtered, or after a batch selection modification (see BaseView.BeginSelection).

To obtain currently selected rows and cells, use the ColumnView.GetSelectedRows and GridView.GetSelectedCells methods.

See the following topics for more information:


Multiple row selection is disabled if cell merging is allowed (see GridOptionsView.AllowCellMerge).

See Also