Completed
Last Updated: 08 Jul 2022 15:31 by ADMIN
Release LIB 2022.2.711 (11 July 2022)
NullReferenceException is thrown when you open the FilteringControl of a RadGridView column.
Completed
Last Updated: 07 Jul 2022 07:18 by ADMIN
Release LIB 2022.2.711 (11 July 2022)
Created by: Martin Ivanov
Comments: 0
Category: GridView
Type: Bug Report
0

The GridView allows you to drag-to-reorder its columns. When start dragging the clicked element is accessed and a screenshot is made from it. Then the drag visual shows an image of the dragged column header. In some cases the drag visual gets clipped.

To work this around, you can subscribe the GridViewHeaderCell elements to the DragDropManager's DragInitialize event and replace the default drag visual with a custom one.

private void RadGridView_CellLoaded(object sender, Telerik.Windows.Controls.GridView.CellEventArgs e)
{
	if (e.Cell is GridViewHeaderCell)
	{
		Dispatcher.BeginInvoke(new Action(() =>
		{
			DragDropManager.AddDragInitializeHandler(e.Cell, OnHeaderCellDragInitialize, true);
		}));
	}
}

private void RadGridView_CellUnloaded(object sender, Telerik.Windows.Controls.GridView.CellEventArgs e)
{
	if (e.Cell is GridViewHeaderCell)
	{
		Dispatcher.BeginInvoke(new Action(() =>
		{
			DragDropManager.RemoveDragInitializeHandler(e.Cell, OnHeaderCellDragInitialize);
		}));
	}
}

private void OnHeaderCellDragInitialize(object sender, DragInitializeEventArgs e)
{
	var dragSource = e.OriginalSource as GridViewHeaderCell;
	if (dragSource != null)
	{
		var dragVisual = new Border()
		{
			BorderBrush = Brushes.LightGray,
			BorderThickness = new Thickness(1),
			Background = new SolidColorBrush(Colors.Bisque) { Opacity = 0.4 },
			Width = dragSource.ActualWidth,
			Height = dragSource.ActualHeight,
			Child = new TextBlock() 
			{ 
				Text = (string)dragSource.Column.Header,
				Margin = new Thickness(5, 0, 5, 0), 
				VerticalAlignment = VerticalAlignment.Center }
		};
		e.DragVisual = dragVisual;
	}
}

Completed
Last Updated: 05 Jul 2022 14:55 by ADMIN
Release LIB 2022.2.711 (11 July 2022)

The property changed of the property bound to IsExpandableBinding (property of RadGridView) is not reflected in the row. To reproduce this the IsPropertyChangedAggregationEnabled property of RadGridView should be set to True (which is the default value) and the view model property (bound to IsExpandableBinding) should be updated consequently with other properties of the view model. For example:

myRowModel.Name = "New name";
myRowModel.IsExpandable = false;

To work this around, use the IsExpandable property of GridViewRow. You can data bind it using the RowStyle property of RadGridView. Or alternatively, set the IsPropertyChangedAggregationEnabled property of RadGridView to False.

Unplanned
Last Updated: 22 Jun 2022 10:31 by Martin Ivanov
Currently, the elements in the row details are measured with infinity size. This means that if you want to limit the content within the available space of the row, you will need to set the Width of the content manually. Add a mechanism that allows you to alter this behavior and measure the child content with the available space.
Completed
Last Updated: 27 Jun 2022 06:15 by ADMIN
Release LIB 2022.2.627 (27 June 2022)

Some of the rows of the RadGridView control are missing, when placed inside a RadPane and one of the newer themes is set via StyleManager.

As a workaround, set the UseLayoutRounding property of the RadGridView control to False.

Completed
Last Updated: 24 May 2023 06:56 by ADMIN
Release R2 2023
The functionality of the Search As You Type feature could be extended so that values of the type string can be filtered by the IsEqualTo operator, rather than the Contains one.
Completed
Last Updated: 18 Aug 2022 13:34 by ADMIN
Release LIB 2022.2.822 (22 August 2022)
Column widths are not calculated correctly when star-width columns are added dynamically which leads to the appearance of a horizontal scrollbar when it is not required.
Completed
Last Updated: 11 Aug 2022 11:48 by ADMIN
Release LIB 2022.2.815 (15 August 2022)
If you add a column with IsReorderable set to False and then drop another column over it, nothing should happen. However, sometimes the drop is executed and the not reorderable column is moved to another index.

To work this around, cancel the reordering in the ColumnReordering event if the drop target column cannot be reordered.

private void RadGridView_ColumnReordering(object sender, Telerik.Windows.Controls.ColumnReorderingEventArgs e)
{
	int notResizeableColumnIndex = 1;
	if (e.NewDisplayIndex == notResizeableColumnIndex)
	{
		e.Cancel = true;
	}
}
Unplanned
Last Updated: 02 Jun 2022 14:52 by Stenly
An empty row appears when using grouping and the EnableStickyGroupHeaders="True", and the RowHeight property is set to a value bigger than the default row height (which is usually 25px, but it may vary based on the applied theme).
Unplanned
Last Updated: 23 May 2022 15:11 by Margret

Currently, the range of the ScaleFactor property is between 0.1 and 4.0. We could include API to allow the user to set minimum and maximum boundaries that are between the default range (0.1 and 4.0).

For example:

  • MinimumScaleFactor=0.8 
  • MaximumScaleFactor = 1.5
Completed
Last Updated: 30 May 2022 07:30 by ADMIN
Release LIB 2022.2.523 (23 May 2022)

Opening the filter control of the RadGridView control with Xaml binaries in certain themes will throw the following exception:

​System.Windows.Markup.XamlParseException: 'Provide value on 'System.Windows.Markup.StaticResourceHolder' threw an exception.'
Exception: Cannot find resource named 'NullToVisibilityConverter'. Resource names are case-sensitive.

Completed
Last Updated: 23 May 2022 08:35 by ADMIN
Release LIB 2022.2.530 (30 May 2022)
ArgumentOutOfRangeException with the following message is thrown: 'DataGrid_DisplayIndexOutOfRange
Parameter name: displayIndex'

The error appears when the SelectionUnit is Mixed and when you select a row, and then filter the data so that the selected row is in the filtered results. 

To work this around, clear the selection before applying the filters and restore it after this.
Completed
Last Updated: 06 Jun 2022 12:28 by ADMIN
Release LIB 2022.2.606 (6 Jun 2022)

Currently, to modify the background color of this element, the default control template of the GridViewCell element needs to be extracted, and the VisualState with x:Name="Highlighted" would need to be customized.

We could include an API for modifying the background color of the HighlightTextBlock element, when it is highlighted.

Duplicated
Last Updated: 18 May 2022 09:17 by ADMIN

RadGridView throws error 'DataGrid_DisplayIndexOutOfRange Parameter name: displayIndex'

when SelectionUnit is set to Mixed

 

SelectionUnit = "FullRow" and SelectionUnit="Cell" works fine.

Please find attached solution for crash.

Telerik version which we are using is UI for WPF 2021

In attached demo from list of data Select any item and click on isolate button above or apply filter from column filter dialog. it throws this error

 

 

   at Telerik.Windows.Controls.GridView.GridViewDataControl.ColumnFromDisplayIndex(Int32 displayIndex)
   at Telerik.Windows.Controls.GridView.Selection.CellInfoCollection.GetColumnForLocation(CellLocation location)
   at Telerik.Windows.Controls.GridView.Selection.CellInfoCollection.CreateCellInfo(CellLocation location)
   at Telerik.Windows.Controls.GridView.Selection.CellInfoCollection.CellRegionEnumerator.GetCurrentCell()
   at Telerik.Windows.Controls.GridView.Selection.CellInfoCollection.CellRegionEnumerator.MoveNext()
   at Telerik.Windows.Controls.GridView.Selection.CellInfoCollection.CellInfoCollectionEnumerator.MoveNext()
   at Telerik.Windows.Controls.GridView.Selection.ContainerFromItemCellSelectionStateChanger.UpdateCellSelectionState(CellInfoCollection cells, Boolean isSelected)
   at Telerik.Windows.Controls.GridView.Selection.CellSelectionHandler.EndAllowedSelection()
   at Telerik.Windows.Controls.GridView.Selection.CellSelectionHandler.EndPendingSelection()
   at Telerik.Windows.Controls.GridView.Selection.CellSelectionHandler.EndSelection()
   at Telerik.Windows.Controls.GridView.CellSelectionChange.Dispose()
   at Telerik.Windows.Controls.GridView.Selection.CompositeSelectionHandler.OnOwnerItemsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Controls.GridView.Selection.CompositeSelectionHandler.OnOwnerItemsCollectionChangedDispatch(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.DataItemCollection.OnCollectionViewCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.Listener`2.ReceiveWeakEvent(Object sender, TArgs args)
   at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
   at Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
   at Telerik.Windows.Data.QueryableCollectionView.RefreshOverride()
   at Telerik.Windows.Data.QueryableCollectionView.RefreshOrDefer()
   at Telerik.Windows.Data.QueryableCollectionView.InvalidatePagingAndRefresh()
   at Telerik.Windows.Data.QueryableCollectionView.OnFilterDescriptorsChanged()
   at Telerik.Windows.Data.QueryableCollectionView.OnFilterDescriptorsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.RadObservableCollection`1.RaiseCollectionChangedOnResume()
   at Telerik.Windows.Data.RadObservableCollection`1.ResumeNotifications()
   at Telerik.Windows.Data.CollectionHelper.Reset(IEnumerable source, IList target, Func`2 itemConverter)
   at Telerik.Windows.Data.ObservableCollectionManager.HandleCollectionChanged(IList sender, NotifyCollectionChangedEventArgs args)
   at Telerik.Windows.Data.ObservableCollectionManager.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs args)
   at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)
   at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at Telerik.Windows.Data.RadObservableCollection`1.RaiseCollectionChangedOnResume()
   at Telerik.Windows.Data.RadObservableCollection`1.ResumeNotifications()
   at IsolateCrash.MainWindow.Button_Click(Object sender, RoutedEventArgs e) in D:\Projects\IsolateCrash\MainWindow.xaml.cs:line 48
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at System.Windows.Application.Run()
   at IsolateCrash.App.Main()

 

Completed
Last Updated: 17 May 2022 15:09 by ADMIN
Release LIB 2022.2.523 (23 May 2022)

The issue appears when you have two adjacent columns - one resizable on the left and one not-resizable (IsResizing=False) on the right. If you hide the left column (IsVisible=False), the resize handle of the right column is still there and it can be used to resize it. 

To work this around, you can remove the next column and add it again in the Columns collection, after you hide the previous column.

this.gridView.Columns[1].IsVisible ^= true;            
var nextColumn = this.gridView.Columns[2];
this.gridView.Columns.Remove(nextColumn);
this.gridView.Columns.Add(nextColumn);

Completed
Last Updated: 17 May 2022 14:55 by ADMIN
Release LIB 2022.2.523 (23 May2022)

The SelectedCells collection of RadGridView contains wrong cells in a scenario where the previous selection is cleared and then its items are filtered out of the view. This reproduces with SelectionMode set to Extended and SelectionUnit set to Mixed.

This happens if you call gridView.SelectedItems.Clear() or gridView.UnselectAll(). You can work around the issue if you clear the SelectedCells. To do so, call also gridView.SelectedCells.Clear().
gridView.SelectedCells.Clear();

Completed
Last Updated: 20 Apr 2022 08:08 by ADMIN
Release LIB 2022.1.425 (25 April 2022)
Not all rows of the RadGridView are shown when the control is placed in a RadPane and the GroupRenderMode is set to Flat.
Completed
Last Updated: 18 Apr 2022 08:29 by ADMIN
Release LIB 2022.1.418 (18 April 2022)
When a null or string.Empty value is set to a property, which is bound to the Text property of the HighlightTextBlock(placed in a DataTemplate for the CellTemplate property of a column) an exception is thrown upon clearing the search text.
Unplanned
Last Updated: 01 Apr 2022 09:40 by Martin Ivanov
Add a method that allows you to start a cell animation when its content (the bound property of the underlying data item) changes. 
Unplanned
Last Updated: 03 Dec 2024 16:00 by ADMIN
Created by: CB
Comments: 2
Category: GridView
Type: Feature Request
4

Currently the filters for the RadGridView only allows 2 filters. It would be very helpful for the default filter popout to have the option to add additional filters.

Current filter popout:

 

Filter popout with ability to add additional filters via an Add Filter button:

Competitor's GridView controls have this feature already and it would be very useful to have this feature on the RadGridView control.