Unplanned
Last Updated: 02 Oct 2026 15:11 by Martin Ivanov

In RadGridView, column header cells and their filter buttons are not exposed to UI Automation (UIA) clients.

Workaround: Subclass DataCellsPresenter, override OnCreateAutomationPeer() to return a custom peer that walks the visual tree for GridViewHeaderCell children and exposes their real peers. This subclass must be wired in via a retemplated GridViewHeaderRow (swap the DataCellsPresenter template part).

public class FixedDataCellsPresenterAutomationPeer : FrameworkElementAutomationPeer
{
    public FixedDataCellsPresenterAutomationPeer(FixedDataCellsPresenter owner)
        : base(owner)
    {
    }

    protected override List<AutomationPeer> GetChildrenCore()
    {
        var children = new List<AutomationPeer>();
        CollectHeaderCellPeers(this.Owner, children);
        return children;
    }

    protected override AutomationControlType GetAutomationControlTypeCore()
    {
        return AutomationControlType.Header;
    }

    private static void CollectHeaderCellPeers(DependencyObject parent, List<AutomationPeer> result)
    {
        int count = VisualTreeHelper.GetChildrenCount(parent);
        for (int i = 0; i < count; i++)
        {
            var child = VisualTreeHelper.GetChild(parent, i);
            if (child is GridViewHeaderCell headerCell)
            {
                var peer = UIElementAutomationPeer.CreatePeerForElement(headerCell);
                if (peer != null)
                {
                    result.Add(peer);
                }
            }
            else
            {
                CollectHeaderCellPeers(child, result);
            }
        }
    }
}

 

  public class FixedDataCellsPresenter : DataCellsPresenter
  {
      protected override AutomationPeer OnCreateAutomationPeer()
      {
          return new FixedDataCellsPresenterAutomationPeer(this);
      }
}

 

<Window.Resources>
    <ControlTemplate x:Key="FixedGridViewHeaderRowTemplate" TargetType="grid:GridViewHeaderRow">
          <!-- other elements -->
            <local:FixedDataCellsPresenter x:Name="PART_DataCellsPresenter"
                                           AutomationProperties.Name="Header Cells Presenter"
                                           Grid.Row="1"
                                           Grid.Column="3" />
           <!-- other elements -->
    </ControlTemplate>
    <Style TargetType="grid:GridViewHeaderRow">
        <Setter Property="Template" Value="{StaticResource FixedGridViewHeaderRowTemplate}" />
    </Style>
</Window.Resources>

 

In Development
Last Updated: 28 Sep 2026 13:46 by ADMIN
In this scenario, we have a RadDocking control with a RadPane whose content is a RadGridView. Each time the RadGridView is replaced with a new instance and the docking layout is subsequently saved and reloaded (RadDocking.SaveLayout/LoadLayout), the previous RadGridView instance is expected to become eligible for garbage collection once no other reference to it remains. Instead, it is not collected by the GC. 
Unplanned
Last Updated: 10 Sep 2026 07:42 by Martin Ivanov

When GridViewClipboardPasteMode is set to AllSelectedCells and a single clipboard value is pasted into more than one selected cell, RadGridView updates the cell values but does not re-evaluate live grouping for the edited items - rows remain under their previous group header until an explicit Rebind()/refresh. 

Pasting into a single cell at a time re-groups correctly.

To work this around, call the CommitEdit and EditItem methods of RadGridView for each row data item in which data was pasted. You can do that in the Pasted event handler:

 private void RadGridView_Pasted(object sender, RadRoutedEventArgs e)
 {
     var editableView = (IEditableCollectionView)this.gridView.Items;
     var affectedItems = this.gridView.SelectedCells.Select(c => c.Item).Distinct().ToList();

     foreach (var item in affectedItems)
     {
         editableView.EditItem(item);
         editableView.CommitEdit();
     }
 }

Declined
Last Updated: 10 Aug 2026 13:36 by ADMIN
workaround:
public MainWindow()
{
    InitializeComponent();

    this.grid.Loaded += grid_Loaded;
}

void grid_Loaded(object sender, RoutedEventArgs e)
{
    this.grid.ChildrenOfType<Grid>().FirstOrDefault(x => x.Name == "PART_OuterGrid").RowDefinitions[1].Height = GridLength.Auto;

    var cells = this.grid.ChildrenOfType<GridViewHeaderCell>();
    foreach (GridViewHeaderCell cell in cells)
    {
        cell.ChildrenOfType<Grid>().FirstOrDefault(x => x.Name == "PART_OuterGrid").RowDefinitions[1].Height = GridLength.Auto;
    }
}
Declined
Last Updated: 10 Aug 2026 13:32 by ADMIN
In Development
Last Updated: 27 Jul 2026 10:36 by ADMIN
Scheduled for Scheduled for Q3 2026 (August)

The bug happens when we have two or more rows merged in the first column and programmatically, we make the rowDetails for the first row visible, the merged cells of the first column stay merged and are over of the rowDetails, hiding a part of the Row Details:

Completed
Last Updated: 02 Jun 2026 09:36 by ADMIN
RadGridView provides two methods to bring an item into the view. We could extend these or create a new one to bring an item to a specific position.
Declined
Last Updated: 26 May 2026 14:50 by ADMIN

Hi Team,

We have a large-scale WPF application that uses the Telerik WPF RadGridView across multiple screens. We are experiencing significant memory growth issues. Upon deep analysis of the memory dump, we observed that the RadGridView continuously pushes DispatcherPriority items into the Dispatcher queue. We also noticed an internal timer within the RadGridView that appears to be active even after the control is no longer visible.  We would like to understand how to completely detach and stop this internal timer once the control is removed from the screen, and why the RadGridView keeps pushing DispatcherItem entries into the Dispatcher queue.

 

 

Telerik Version : 2017.2.503.45

 

 

Completed
Last Updated: 20 May 2026 11:37 by ADMIN
Release 2026.2.520 (2026 Q2)
The GridViewCheckBox cell calls the license verify method in its constructor. This potentially could lead to performance degradation when the RadGridView is populated with a large number of cells. Each scrolling operation will trigger the GridViewCheckBox creation thus licensing validation.
Won't Fix
Last Updated: 24 Feb 2026 05:34 by ADMIN
TreeListView with IsReadOnly True and EnableColumnVirtualization True.
Custom column is defined in code with IsReadOnly False.
Runtime, user edits a cell from the column and then scrolls horizontally - this leads to UI freeze, endlessly.
Completed
Last Updated: 11 Feb 2026 09:14 by ADMIN
Release 2026.1.211 (2026 Q1)
Created by: Martin Ivanov
Comments: 0
Category: GridView
Type: Bug Report
0
The CellUnloaded event of RadGridView is not invoked consistent compared to CellLoaded. For example, when you scroll up and down, the CellLoaded event is invoked for each new cell that appears in the view port. However, CellUnloaded is not invoked for cells going outside of the viewport.
Completed
Last Updated: 11 Feb 2026 09:14 by ADMIN
Release 2026.1.211 (2026 Q1)
Currently, the frozen columns' count will be updated if the dragged splitter passes half of the width of the column on which it is over. We could introduce support for modifying this threshold to either increase it or decrease it.
Completed
Last Updated: 11 Nov 2025 08:11 by ADMIN
Release Telerik UI for WPF 2025.4.1111 (2025 Q4)
When the culture is set to th-TH (Thai culture), an ArgumentOutOfRangeException is raised when the ItemsSource of RadGridView is rebound.
Declined
Last Updated: 12 Sep 2025 09:27 by ADMIN
Created by: Christopher
Comments: 1
Category: GridView
Type: Feature Request
0
We are using telerik:RadGridView.RowDetailsTemplate in our GridView and we need the ability to expand or contract all rows at the press of a button.  As in the demo code under Hierarchy, we need to do this from our ViewModel.  Can the IsExpandedBinding be implemented for this use case in addition to when using hierarchical data?  
Completed
Last Updated: 12 Sep 2025 09:20 by ADMIN
Release LIB 2019.3.923

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

Completed
Last Updated: 02 Sep 2025 05:44 by ADMIN
Release LIB 2020.1.203 (02/03/2020)
Scrollviewer is not updated when row details are collapsed.
Completed
Last Updated: 12 Aug 2025 10:30 by ADMIN
Release 2025.3.812 (2025 Q3)
When the ShowToolTipOnTrimmedText property of the columns is set to True, the tooltips of the cells will open even when their text is not trimmed if the UseLayoutRounding property of RadGridView is set to True.
1 2 3 4 5 6