Last Updated: 16 Sep 2020 08:04 by Tobias
The exception message is: "... is not a valid metadata type for type filtering operations. Type filtering is only valid on entity types and complex types." The exception is observed when using AggregateFunctions and setting up the data with EntityFramework. 
Last Updated: 31 Aug 2020 14:06 by ADMIN
Part of the selection is lost when the ItemsSource of RadGridView is assigned to a VirtualQueryableCollectionView (VQCV) and select all action is executed (with Ctrl+A for example), and then the gridview control is scrolled. 
Last Updated: 24 Jul 2020 11:10 by ADMIN
When GridView is bound to items (ICustomTypeDescriptor) which contain a property with a dot in the name, the values in the column are not shown
Last Updated: 24 Jul 2020 06:52 by ADMIN
When using INotifyDataErrorInfo, items are still validated even when the ValidationType property is None
Last Updated: 15 Jul 2020 12:05 by ADMIN
When SpreadStreamExport.RunExportAsync() method is exporting large data it could take a while to export the grid. While exporting the grid, the ItemsSource changes to a new one with a different number of columns, NullReferenceException is thrown.
Last Updated: 03 Jul 2020 07:25 by ADMIN
GridViewSpreadStreamExport throws exception exporting the control whit nested column groups and EnableColumnGroupsVirtualization set to False.
Last Updated: 27 May 2020 10:45 by ADMIN
A NullReferenceException is raised when trying to edit a GridViewMultiColumnComboBoxColumn and the RadGridView's ItemsSource is a DataView.
Last Updated: 18 Mar 2020 08:22 by ADMIN

To reproduce this:

  1. Set the GroupRenderMode of RadGridView to Flat.
  2. Page RadGridView using RadDataPager.
  3. Scroll to the last row in the view. Or scroll to any row so that few of the rows above are not longer visible.
  4. Expand the row details and scroll down more until only the parent row is visible.
  5. Collapse the row details. At this point, the vertical scrollbar disappears and the upper rows are not brought into the view as expected when the row details gets collapsed.

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)


Last Updated: 05 Feb 2020 13:51 by ADMIN
DataContext of rows is sometimes null when UI virtualization is enabled in the Flat group render mode.
Last Updated: 17 Jan 2020 15:27 by ADMIN

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 = 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 -
... you are using 'this.Dispatcher...' which causes the leak since the Action will implicitly capture the 'this' reference.
Which kind of defeats the prupose of having a WeakReference inside your WeakEventListener.

Sadly i cannot figure out how it happens, but i think its only when Detach (FrameworkElement.Unloaded ultimately) is not called.
While this is the actual issue, i thought I'd share this with you so you.

Last Updated: 17 Dec 2019 10:06 by ADMIN
When a frozen column is resized to fill the entire RadGridView, there isn't an option to reduce its size in order to bring the other columns into view.
Last Updated: 25 Nov 2019 14:00 by ADMIN
Scrollviewer is not updated when row details are collapsed.
Last Updated: 16 Sep 2019 12:21 by ADMIN

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

Last Updated: 21 Aug 2019 13:07 by ADMIN
When invalid rows that were loaded but not in viewport get valid, the invalid state (row validation indicator) is still visible.
Last Updated: 17 Sep 2019 09:28 by ADMIN

If you have the following model, the columns that show the Test and Date properties (in the derived class) cannot be sorted or filtered.


public class RowModel
    public int Id { get; set; }
    public Bar FredBar { get; set; }
public class Fred : Bar
    public DateTime Date { get; set; }
    public string Test { get; set; }
public abstract class Bar
    public string Title { get; set; }
    public double Value { get; set; }       

    <telerik:GridViewDataColumn DataMemberBinding="{Binding Id}" />               
    <telerik:GridViewDataColumn DataMemberBinding="{Binding FredBar.Title}" />
    <telerik:GridViewDataColumn DataMemberBinding="{Binding FredBar.Value}" />
    <telerik:GridViewDataColumn DataMemberBinding="{Binding FredBar.Date}" />
    <telerik:GridViewDataColumn DataMemberBinding="{Binding FredBar.Test}" />

To work this around, set the IsCustomSorting property of the corresponding columns and implement a custom sorting in the Sorting event of RadGridView.

Last Updated: 06 Mar 2019 13:54 by ADMIN
When there are 1000 (reproduce with 500) distinct values in the Popup filter and we try to select all of them it took 15 seconds and more when using ICustomPropertyProvider.
Last Updated: 10 Dec 2018 16:28 by ADMIN
  • Open the GridView examples
  • In the available examples, select "Selection and Usability | Row Details"
  • Select a row in the grid view
  • In the external Details Presenter, select : nothing is displayed in the bottom.
  • You have to select another row and then come back to show the detail.


The fix for this issue will be available with the next LIB (version 2018.3.1217) expected on Monday, December 17.

Last Updated: 24 Oct 2018 12:52 by Vladimir
Last Updated: 04 Sep 2018 12:49 by ADMIN
Setting the theme via the StyleManager.SetTheme(control, theme) method does not style the cell as expected when a CellStyle is defined for its parent column.

The current workaround is to explicitly set the theme via the style:
<Style x:Key="BlueCellStyle" TargetType="telerik:GridViewCell">
		<Setter Property="Background" Value="PowderBlue"/>
                <Setter Property="telerik:StyleManager.Theme" Value="VisualStudio2013" />
Last Updated: 14 Sep 2018 13:58 by ADMIN
As a workaround, the Path with the PathGeometry setter in the style can be replaced by a RadGlyph with a pin icon. The IsPinned Trigger in the style can be replaced with a DataTrigger to the parent row's IsPinned. Here's an example of the updated style for the Fluent theme:

<Style x:Key="GridViewPinButtonStyle" TargetType="grid:GridViewPinButton">
        <Setter Property="PathStyle" Value="{StaticResource PinUnpinPathStyle}"/>
        <Setter Property="Foreground" Value="{telerik1:FluentResource ResourceKey=IconBrush}"/>
        <Setter Property="MinHeight" Value="28"/>
        <Setter Property="MinWidth" Value="22"/>
        <Setter Property="IsBackgroundVisible" Value="False"/>
        <Setter Property="Command" Value="{x:Static telerik:RadGridViewCommands.TogglePinnedRowState}"/>
        <Setter Property="CommandParameter" Value="{Binding}"/>
        <Setter Property="SnapsToDevicePixels" Value="True"/>
        <Setter Property="BorderThickness" Value="0"/>
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        <Setter Property="VerticalContentAlignment" Value="Stretch"/>
        <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
        <Setter Property="IsTabStop" Value="False"/>
        <Setter Property="Padding" Value="0 0 2 0"/>
        <Setter Property="Template">
                <ControlTemplate TargetType="telerik:RadPathButton">
                    <Grid Background="Transparent">
                            <VisualStateGroup x:Name="BackgroundVisibility">
                                <VisualState x:Name="BackgroundIsHidden">
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OuterBorder" Storyboard.TargetProperty="Visibility">
                                            <DiscreteObjectKeyFrame KeyTime="0">
                                <VisualState x:Name="BackgroundIsVisible"/>
                        <Border x:Name="OuterBorder"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                Background="{TemplateBinding Background}"
                                CornerRadius="{TemplateBinding CornerRadius}"/>
                        <telerik:RadGlyph x:Name="UnPinIcon" Foreground="{TemplateBinding Foreground}" FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" Glyph="{StaticResource GlyphPin}"/>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Foreground" Value="{telerik1:FluentResource ResourceKey=AccentMouseOverBrush}"/>
                        <Trigger Property="IsPressed" Value="True">
                            <Setter Property="Foreground" Value="{telerik1:FluentResource ResourceKey=AccentPressedBrush}"/>
                        <DataTrigger Binding="{Binding IsPinned, RelativeSource={RelativeSource AncestorType=telerik:GridViewRow}}" Value="True">
                            <Setter TargetName="UnPinIcon" Property="Glyph" Value="{StaticResource GlyphUnpin}" />

ArgumentException: 'RadGlyphExtension' is not valid for Setter.Value. The only supported MarkupExtension types are DynamicResourceExtension and BindingBase or derived types.

   at System.Windows.Setter.Seal()
   at System.Windows.SetterBaseCollection.Seal()
   at System.Windows.Style.Seal()
   at System.Windows.Style.Seal()
   at System.Windows.StyleHelper.UpdateStyleCache(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle, Style& styleCache)
   at System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
   at System.Windows.FrameworkElement.UpdateStyleProperty()
   at System.Windows.FrameworkElement.OnInitialized(EventArgs e)
   at Telerik.Windows.Controls.RadButton.OnInitialized(EventArgs e)
   at Telerik.Windows.Controls.RadPathButton.OnInitialized(EventArgs e)
   at Telerik.Windows.Controls.GridView.GridViewPinButton.OnInitialized(EventArgs e)
   at System.Windows.FrameworkElement.TryFireInitialized()
   at System.Windows.FrameworkElement.EndInit()
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)
1 2 3 4 5 6