Completed
Last Updated: 29 Aug 2023 07:03 by ADMIN
Release LIB 2023.2.821 (21 Aug 2023)
An InvalidOperationException can be thrown when adding and removing items from the collection bound to the RadGridView from different threads. 
Completed
Last Updated: 11 Sep 2023 10:26 by ADMIN
Release LIB 2023.2.918 (18 Sep 2023)
DisplayIndex is not the correct one when reordering visible and invisible columns.
Unplanned
Last Updated: 24 Aug 2023 07:42 by Stenly
Applying alternation count does not alternate rows correctly when having both pinned/unpinned rows.
Completed
Last Updated: 28 Oct 2022 12:17 by ADMIN
Release LIB 2022.3.1031(31 Oct 2022)
The following exception is thrown when selecting the IsNull operator and the column is bound to a nullable Enum:

"ArgumentException: Must specify valid information for parsing in the string."

The exception is handled internally but results in the filtering not being applied.

Completed
Last Updated: 21 Nov 2022 08:18 by ADMIN
Release LIB 2022.3.1121 (21 Nov 2022)
When a column is bound to a nullable Enum and the null value is selected in the field filter RadComboBox, when the popup is reopened this value is cleared from the UI even though the filtering remains unchanged.
Unplanned
Last Updated: 01 Nov 2022 08:12 by Martin Ivanov
Created by: Martin Ivanov
Comments: 0
Category: GridView
Type: Feature Request
0

Currently, you can set the data format string of the cells in a GridView column by using the DataFormatString property of the column.

Add a mechanism to select the DataFormatString per cell. For example, this can be done using the CellStyleSelector and a new property in the GridViewCell. Or by introducing DataFormatStringSelector property.

Completed
Last Updated: 18 Nov 2022 06:12 by ADMIN
Release LIB 2022.3.1121 (21 Nov 2022)

The aggregate values shown in the group headers are wrong when scrolling. This happens when the EnableColumnVirtualization property is set to False and ColumnAggregatesAlignment is NextToGroupKey or BelowGroupKey.

To work this around, set the EnableColumnVirtualization property to True or ColumnAggregatesAlignment to NoAlignment. 

Completed
Last Updated: 16 Sep 2022 05:21 by ADMIN
Release LIB 2022.3.919 (19 Sep 2022)
When adding distinct values with a delay after the DistinctValuesLoading event, the RadGridView is not filtered correctly when they are checked.
Completed
Last Updated: 30 Sep 2022 05:42 by ADMIN
Release LIB 2022.3.1003(3 Oct 2022)

Hi Telerik,

I have created a sample project for an issue I have found:

Please see the code behind of the sample.

When removing a column from a grid where the display index was changed, and rows are selected, I do get an ArgumentOutOfRangeException. 

Any help is appreciated!

Thank you!

Thomas

Unplanned
Last Updated: 16 Feb 2023 15:30 by Quentin

Special chars '+', '-'. '""  modify the default search criteria in the search as you type feature.

https://docs.telerik.com/devtools/wpf/controls/radgridview/features/search-as-you-type#modifying-the-searching-criteria

Add option to disable this behavior. It would be useful in scenarios with strings starting with + or -.
Also option should be available for setting in MultiColumnComboBox.

Completed
Last Updated: 20 Mar 2023 06:03 by ADMIN
Release LIB 2023.1.320 (20 Mar 2023)

Pixel bug in Lightweight Templates of RadGridView in VisualStudio2013 and Office2013 themes:

No horizontal grid lines when cell has background color:

Most likely bottom margin of PART_CellBorder not set in VisualStudio2013 Theme. In Office2016 PART_CellBorder.Margin="0 0 0 1"

Unplanned
Last Updated: 23 Nov 2022 13:50 by Stenly
For example, an event that will occur when the filter icon is clicked or when the filtering drop-down is opening/closing.
Completed
Last Updated: 19 Jan 2023 14:50 by ADMIN

Filtering the data by distinct value using the filter query optimization doesn't work properly when adding more than 500 distinct values. To reproduce this, set the OptimizeDistinctFilterQuery property of the corresponding column to True. The distinct values should be filtered using the ColumnFilterDescriptor and the AddDistinctValue method of the DistinctFilter.

In that case, the filter can get reversed and remove the selected distinct values from the data view, instead of adding only them, as would be expected. Or the filter can stop working at all and display all values from the ItemsSource.

To work this around, instead of using the ColumnFilterDescriptor and the AddDistinctValue method, add a composite filter descriptor manually in the FilterDescriptors of RadGridView.

radGridView.FilterDescriptors.SuspendNotifications();
var distinctValuesFilter = new CompositeFilterDescriptor();
distinctValuesFilter.LogicalOperator = FilterCompositionLogicalOperator.Or;
for (int i = 0; i < 5000; i++)
{
	object disctincValue = i;
	var filter = new FilterDescriptor("Id", FilterOperator.IsEqualTo, disctincValue);
	distinctValuesFilter.FilterDescriptors.Add(filter);                
}
radGridView.FilterDescriptors.Add(distinctValuesFilter);
radGridView.FilterDescriptors.ResumeNotifications();

Completed
Last Updated: 28 Jan 2022 09:28 by ADMIN
Release LIB 2022.1.131 (31 Jan 2022)
Created by: Martin Ivanov
Comments: 0
Category: GridView
Type: Feature Request
0

Calling the BeginInsert() method of RadGridView, adds a new row at the bottom of the items and scrolls to the newly added row. However, if the vertical scrollbar is not visible and the newly added row makes the viewport so big that the scrollbar should display, the row gets clipped. Also, the vertical scrollbar that was just added is not scrolled to the bottom, which is actually why the row is clipped. Each next insert (after the scrollbar gets visible) will display the added row properly.

To work this around, you can scroll the vertical scrollbar manually to bottom. 

private void BeginInsertRow()
{
	var scrollViewer = this.gridView.FindChildByType<GridViewScrollViewer>();
	bool requestScrollToBottom = false;
	if (scrollViewer.ComputedVerticalScrollBarVisibility == Visibility.Collapsed)
	{
		var panel = this.gridView.FindChildByType<GridViewVirtualizingPanel>();
		var sumHeight = (source.Count + 1) * this.gridView.RowHeight;                
		requestScrollToBottom = sumHeight > panel.ActualHeight;                
	}
	this.gridView.BeginInsert();

	if (requestScrollToBottom)
	{
		scrollViewer.ScrollToBottom();
	}            
}

Completed
Last Updated: 26 May 2022 06:15 by ADMIN
Release LIB 2022.2.530 (30 May 2022)

Hi

I have a grid where some rows contain child rows.  In order to control which rows have the "+" expander icon I use the IsExpandableBinding property.  I also have a toolbar which contains a convenience button to collapse all the expanded rows.

This button is bound to a handler which called RasGridView.CollapseAllHierarchyItems(), but this does not have any effect.  I've tried removing the IsExpandableBinding property, and the collapse mechanism then works (but I get unwanted expanders on every row).

 

Won't Fix
Last Updated: 04 Apr 2022 12:38 by ADMIN

Hi,

I am currently having issues with RadGridView's group footer: I am trying to add a button to the footer template which is supposed to trigger a command which in turn needs some info on the group it was triggered from*.

Since (unlike the header) there does not seem to be any info on the group available directly within the GroupFooterTemplate, I am pulling the group info from the parent GridViewGroupFooterRow:

                <telerik:GridViewDataColumn [...]>
                    <telerik:GridViewColumn.GroupFooterTemplate>
                        <DataTemplate>
                            <Button Command="{Binding DataContext.ShowFooterGroupCommand, RelativeSource={RelativeSource AncestorType=telerik:RadGridView}}"
                                    CommandParameter="{Binding Group.Key, RelativeSource={RelativeSource AncestorType=telerik:GridViewGroupFooterRow}}" />
                        </DataTemplate>
                    </telerik:GridViewColumn.GroupFooterTemplate>
                </telerik:GridViewDataColumn>

This is working great as long as the RadGridView does not use Row virtualization. However, when I turn on Row virtualization and scroll around for a bit, the value I get passed as the CommandParameter is more or less random and has nothing to do with the group my button is actually located in.

I attached a small example project (.Net 6 but our app uses 4.8 so I set that as the Framework below) for you to try it yourself. Just scroll around and click the buttons while watching the debug output window. You will see that the groups in the output window will not match the group where you actually clicked the button after some scrolling.

Expected Behavior

Even when virtualizing, the Group key returned when binding to GridViewGroupFooterRow.Group(.Key) should reliably return the key of the actual group my button is placed in. It would be even better if it was somehow possible to get the group directly, without having to resort to FindAncestor.

Regards
Simon Müller
Hofmann Fördertechnik GmbH

 

* Basically I am trying to give the user a possibility to add new items to the individual groups and I don't want to add the button to the group header since that makes it too easy to accidentally hit the header's RadToggleButton, collapsing the group.

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: 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.
Unplanned
Last Updated: 21 Jul 2022 07:41 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?  
Unplanned
Last Updated: 02 Aug 2022 10:03 by Martin Ivanov
Currently, the Control Panel button is placed in the same row like the group panel. This means that if you hide the group panel, but keep the Control Panel button, then you will end up with a single button an a considerable empty area on top of the GridView. This is noticeable mostly when you also display also the search panel. 

Add a property that allows you to move the position of the Control Panel button from the group panel's Grid row to the search panel's row. This way you can make the GridView more compact by placing the button in the search panel's area.