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;
}
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;
}
We noticed that RadGridView does not get garbagecollected sometimes.
So i fired up a memory analyzer to see what is going on.
This is the graph that shows that the RadGridView is causing a leak. The only references that keep the GridView from getting collected are those two WeakEventListeners
To further investigate i decompiled GridViewDataControl and could identify the culprit.
private void SubscribeToDispatcherShutdown()
{
if (this.dispatcherShutdownListener != null)
this.dispatcherShutdownListener.Detach();
this.dispatcherShutdownListener = new WeakEventListener<GridViewDataControl, object, EventArgs>(this);
this.dispatcherShutdownListener.OnEventAction = (Action<GridViewDataControl, object, EventArgs>) ((grid, source, eventArgs) => grid.OnDispatcherShutdownFinished(source, eventArgs));
this.dispatcherShutdownListener.OnDetachAction = (Action<WeakEventListener<GridViewDataControl, object, EventArgs>>) (weakEventListener => this.Dispatcher.ShutdownFinished -= new EventHandler(this.dispatcherShutdownListener.OnEvent));
this.Dispatcher.ShutdownFinished += new EventHandler(this.dispatcherShutdownListener.OnEvent);
}
In the second line from the botton
... weakEventListener => this.Dispatcher.ShutdownFinished -
Hi Telerik-Team,
When creating a new item in the GridView by either mouse or insert button the row is not selected or highlighted.
I guess this is a bug, since a cell in the new row has focus but not the row.
Best regards,
Mats
When the ItemsSource is not set: ArgumentOutOfRangeException is thrown
When the ItemsSource is set to an empty collection: DivideByZeroException is thrown
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 adding a new row and we click inside a DropDownContent of a DropDown control, the RadGridView loses focus. This way RowValidating event is called which is not expected.
In Office2016 when we increase the DPI of the Windows a left border in the header of column disappears. As a workaround you can set the Width property of all columns.
Group rows which are not present in the view are not visualized when the window is maximized.
A possible solution here is to set the GroupRenderMode property to Flat.
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.