Keyboard Support

RadGridView exposes several useful properties and events, which can help you control the keyboard interaction and get notified when keyboard events occur. Moreover, using the keyboard you can perform some common tasks, such as:

  • Change the selection - use the arrow keys to change your selection. To select multiple rows hold the Shift\Ctrl key pressed and use the arrow keys or the mouse to select the desired rows.

  • Sort by multiple columns - just hold the Shift key pressed and click all column headers by which you wish to sort your data.

  • Start cell edit - press F2 and the current cell will enter in edit mode.

  • End cell edit - press Enter while the cell is in edit mode. This will confirm the changes you've made.

  • Cancel cell edit - press Escape while the cell is in edit mode. This will rollback the changes you've made.

  • Add new row - press Insert and new row will be inserted automatically.

  • Delete existing row - users can delete (if supported by the collection assigned to the ItemsSource of RadGridView) selected items using DELETE key. This feature can be controlled with RadGridView's CanUserDeleteRows property. Additional to this, the delete command won't be executed if the IsReadOnly property of RadGridView is true or the selected row is in edit mode.

In case you require to utilize different commands corresponding to the keyboard interaction, you may take advantage of the IKeyboardCommandProvider interface and implement your custom logic. Please check this article for further information.

In the following table you can find some of the actions and the respective combination that invokes them:

Hotkey Command Action
Enter RadGridViewCommands.CommitEdit Commit the changes(edit mode) and select next row
Enter RadGridViewCommands.CommitEdit Select next row
F2 RadGridViewCommands.BeginEdit Put current cell in edit mode
Esc RadGridViewCommands.CancelCellEdit Cancel the editing of the current cell
Insert RadGridViewCommands.BeginInsert Insert new row
Delete RadGridViewCommands.Delete Delete selected row
Left key RadGridViewCommands.MoveLeft Focus next cell on the left
Right Key RadGridViewCommands.MoveRight Focus next cell on the right
Down Key RadGridViewCommands.MoveDown Focus next cell below
Up Key RadGridViewCommands.MoveUp Focus next cell above
Page Up RadGridViewCommands.MoveTop Focus first cell
Page Down RadGridViewCommands.MoveBottom Focuses first cell of last row
Home RadGridViewCommands.MoveHome Focus first cell of selected row
End RadGridViewCommands.MoveEnd Focus last cell of selected row
Tab RadGridViewCommands.MoveNext Focuses next cell
Tab + Shift RadGridViewCommands.MovePrevious Focuses previous cell
Ctrl + C RadGridViewCommands.Copy Copy text
Ctrl + V RadGridViewCommands.Paste Paste text
Ctrl + F RadGridViewCommands.Search Show Search Panel
Space RadGridViewCommands.CollapseHierarchyItem Collapse a particular item in the hierarchy
Space RadGridViewCommands.ExpandHierarchyItem Expand a particular item in the hierarchy

The actions might vary depending on the mode of RadGridView and different property combinations.

You can find more information regarding RadGridView`s commands in the Commands Overview article.


  • Set the IsTabStop property to include/exclude the control in the tab navigation cycle. If this property is set to True, then the control will be included; if it is False it will be skipped.

  • The TabIndex property defines the index of the control in the tab navigation cycle. The lower the number is, the earlier the control will be focused while navigating using the Tab key. If you set this property, do not forget to set IsTabStop to True.

  • The TabStopMode property of the column denotes if its cells could gain focus with the TAB key navigation.

  • If you are looking for a better way to control how the tab navigation cycles inside the RadGridView, use the property TabNavigation. You can set it to one of these three possible values:


Here is a list of the common keyboard events exposed by the RadGridView, GridViewRow and GridViewCell objects:

  • KeyUp - occurs when the user releases a keyboard key. The type of the passed event arguments is KeyEventArgs.

  • KeyDown - occurs when the user presses a keyboard key. The type of the passed event arguments is KeyEventArgs.

In Example 1 you can see how to subscribe to KeyDown and KeyUp events from XAML.

Example 1: Subscribe to KeyDown and KeyUp events

<telerik:RadGridView x:Name="radGridView" KeyDown="radGridView_KeyDown" KeyUp="radGridView_KeyUp"/> 

It is always a good practice to attach your event handlers in the XAML, whenever your application logic allows this.

The implementation of both event handlers radGridView_KeyDown and radGridView_KeyUp is located in the code-behind file (C# or VB.NET) and looks like this:

Example 2: Implementation of KeyUp and KeyDown events

private void radGridView_KeyDown(object sender, KeyEventArgs e) 
    MessageBox.Show("The pressed key is: " + e.Key.ToString()); 
private void radGridView_KeyUp(object sender, KeyEventArgs e) 
    MessageBox.Show("The released key is: " + e.Key.ToString()); 
Private Sub radGridView_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) 
    MessageBox.Show("The pressed key is: " & e.Key.ToString()) 
End Sub 
Private Sub radGridView_KeyUp(ByVal sender As Object, ByVal e As KeyEventArgs) 
    MessageBox.Show("The released key is: " & e.Key.ToString()) 
End Sub 

You can attach to the other keyboard events in the same way.

See Also

In this article