This happens only if there are many columns outside of the viewport (a scrollviewer is shown), with their TabStopMode property set to Skip.
In this case, the navigation needs some time in order to get to the next row and select the first available cell.
A possible workaround for this would be to implement a custom Keyboard Command Provider, and to replace the MoveNext command with a custom one, that moves the current cell, by setting the CurrentCellInfo property of RadGridView.
Bind a grid to a DataView
Start editing and change the values of a few cells.
Press Escape twice to cancel the edit of the entire row.
Expected: the values return to the old values
Actual: the values remain the last entered ones
The designer throws an error when the default style of a control which has a RadSplitButton/RadDropDownButton in its control template is extracted in a ResourceDictionary and then merged in App.xaml. There must be a custom style which is based on the extracted one to reproduce the error. This behavior is only present in 2019 R3.
The error is "This feature requires service 'Microsoft.Windows.Design.Services.ValueTranslationService' to be present, but it could not be located."
When the ItemsSource is not set: ArgumentOutOfRangeException is thrown
When the ItemsSource is set to an empty collection: DivideByZeroException is thrown
The ItemsControl that holds the control panel of RadGridView should not be included in the tab order. Its IsTabStop property should be False. Only the items inside of it should be included in the tab order.
To work this around, use the ChildrenOfType extension method to get the ItemsControl and set its IsTabStop property. Optionally, you can exclude also the ControlPanelItemControl elements from the tab order.
private void gridView_Loaded(object sender, RoutedEventArgs e)
{
var controlPanel = this.gridView.ChildrenOfType<ItemsControl>().FirstOrDefault(x => x.Name == "PART_ControlPanelItemsControl");
controlPanel.IsTabStop = false;
}
The search box TextBox element used with the search-as-you-type feature is not focused when you press the Tab key. This happens because the search box is excluded from the tab order (IsTabStop=False).
Use the ChildrenOfType extension method to get the TextBox element and set its IsTabStop to True.
private void gridView_Loaded(object sender, RoutedEventArgs e)
{
var searchBox = this.gridView.ChildrenOfType<TextBox>().FirstOrDefault(x => x.Name == "PART_SearchAsYouTypeTextBox");
searchBox.IsTabStop = true;
}
SearchStateManager property is null when trying to change any of the properties of the SearchStateManager object in the Loaded event. This behavior is observed when the ShowSearchPanel property is not set to true initially.
Blank spaces where rows should appear are observed in the following situation. You start editing a row or a column, then scroll the row outside of the viewport before the edit was committed. Then sort a column.
This is reproducible only if the GroupRenderMode property of RadGridView is set to Flat. Also, the AutoGenerateColumns property should be set to False and the Columns should be added manually.
Note that the issue is reproducible also in RadTreeListView, which has the GroupRenderMode set to Flat by default.
To work this around, set the GroupRenderMode property of RadGridView to Nested.
To reproduce this:
To work this around call the Rebind() method of RadGridView on RowDetailsVisibilityChanged event.
private void RadGridView_RowDetailsVisibilityChanged(object sender, Telerik.Windows.Controls.GridView.GridViewRowDetailsEventArgs e)
{
if (e.Visibility == Visibility.Collapsed)
{
this.gridView.Rebind();
}
}