Completed
Last Updated: 20 Oct 2023 12:49 by ADMIN
Release LIB 2023.3.1023 (23 Oct 2023)
*Original title: Cross thread exception with empty hierarchical headers*

I already have a work-around and I don't have time to craft an example.

 

When running two dispatchers in different threads, ie launching the following code twice:

public void LaunchInThread()
        {
            Thread _thread = new Thread(() =>
            {
              Application app = new Application();
              app.Run(new Window());
            });
            _thread.SetApartmentState(ApartmentState.STA);
            _thread.Start();
        }

And setting column hierarchical column headers to some but not all columns by code, ie:

if( ! first_column){
   column.ColumnGroupName = "groupName";
   if (radGridView.ColumnGroups.FirstOrDefault(x => x.Name == "groupName") != null) return;
   radGridView.ColumnGroups.Add(new GridViewColumnGroup { Header = "groupName", Name = "groupName" });
}
When the radGridView is displayed on the second thread, the code will crash with a cross-thread access validation exception, on GridViewColumnGroup.Name

My guess is that when no header is set, by default an static empty GridViewColumnGroup is reused. And as it's non-freezable it crashes.

Unplanned
Last Updated: 30 Jun 2023 07:55 by Martin Ivanov
Currently, the position and size of the merged cell can be fetched via the numeric position and length properties of the MergedCellInfo class. This allows you to implement custom code that iterates the Columns collection of RadGridView and extractс the parent GridViewColumn(s).

Add a property that allows you to get the columns hosting the merged cell. The property should be able to get a single column (when the cells are merged vertically) and multiple columns when (when merged horizontally).
Unplanned
Last Updated: 28 Jun 2023 08:14 by alitvinov
Suppose GridView has 4 columns A, B, C (invisible), D.
Copy all cells below the visible columns A B and D.
Pasting the values results in incorrectly pasted empty rows and empty column header around the copied cells values.
Completed
Last Updated: 28 Jun 2023 13:29 by ADMIN
Release LIB 2023.1.703 (3 Jul 2023)
When using XAML binaries and applying the Windows 11 theme, the group expander feature in GridView is not working.
Completed
Last Updated: 11 Jul 2023 11:06 by ADMIN
Release R2 2023 SP1

The result string contains wrong header positions and some headers could be missing when the copy of cells (including the header cells) of a column is cancelled using the CopyingCellClipboardContent event. This happens when the ClipboardCopyMode is set to "Cells,Header". 

To work this around, you can override the Copied event and replace the string part from the clipboard that contains the headers, with your custom variant.

private void RadGridView_Copied(object sender, Telerik.Windows.RadRoutedEventArgs e)
{
	string copiedData = Clipboard.GetText();
	int headerEndIndex = copiedData.IndexOf("\r\n");
	string headerString = copiedData.Substring(0, headerEndIndex) + "\r\n";
	copiedData = copiedData.Remove(0, headerEndIndex);

	var gridView = (RadGridView)sender;
	var filteredColumns = gridView.Columns.OfType<Telerik.Windows.Controls.GridViewColumn>()
		.OrderBy(x => x.DisplayIndex)
		.Where(x => x.IsVisible && !excludedColumns.Contains(x));
	// Where excludedColumns list contains the columns that shouldn't be copied. In this example, this collection is used in the CopyingCellClipboardContent event handler to remove the corresponding columns from the clipboard copy process.

	string newHeader = string.Empty;
	for (int i = 0; i < filteredColumns.Count(); i++)
	{
		var column = filteredColumns.ElementAt(i);
		newHeader += column.Header.ToString();
		if (i < filteredColumns.Count() - 1)
		{
			newHeader += "\t";
		}

	}
	copiedData = newHeader + copiedData;
	Clipboard.SetText(copiedData);
}

Duplicated
Last Updated: 11 Jul 2023 14:04 by ADMIN

I have a GridView, with  ClipboardCopyMode set to "Cells, Header" and defined event CopyingCellClipboardContent :

private void RadGridView1_CopyingCellClipboardContent(object sender, GridViewCellClipboardEventArgs e)
{
// _excludedcolumns = columns excluded from copy operation set in logic before
if (_excludedcolumns.Contains(e.Cell.Column))
{
e.Cancel = true;
}
}

Header cells are empty, not skipped like ordinary cells.

Regards
Janez

 

Unplanned
Last Updated: 02 Jun 2023 12:07 by ADMIN
Created by: alex
Comments: 1
Category: GridView
Type: Feature Request
1

Hello,

Regarding this forum question, it will be good if you add the attached property VisibleColumnsCount or IsAnyColumnVisible so I can hide the rows when there are 0 columns. Please read the following link for full information:

https://www.telerik.com/forums/radgridview---hide-rows-when-columns-are-not-visible

 

I have a license ok behalf my company

Unplanned
Last Updated: 18 May 2023 08:23 by Martin Ivanov
Created by: Martin Ivanov
Comments: 0
Category: GridView
Type: Feature Request
1

Currently, the GridViewMergedCell cannot be selected. Allow selecting the merged cells via the UI or code. 

At the moment RadGridView has only a CurrentMergedCell property.

Unplanned
Last Updated: 17 May 2023 12:37 by Vladimir

In the following scenario:

<telerik:RadGridView x:Name="clubsGrid" ItemsSource="{Binding Foos}" AutoGenerateColumns="False">
	<telerik:RadGridView.Columns>
		<telerik:GridViewDataColumn DataMemberBinding="{Binding Foo1}" MinWidth="100" />
		<telerik:GridViewDataColumn DataMemberBinding="{Binding Foo2}" MinWidth="100" />
		<telerik:GridViewDataColumn DataMemberBinding="{Binding Foo3}" Width="*" />
		<telerik:GridViewDataColumn DataMemberBinding="{Binding Foo4}" MinWidth="100" />
		<telerik:GridViewDataColumn DataMemberBinding="{Binding Foo5}" MinWidth="100" />
		<telerik:GridViewDataColumn DataMemberBinding="{Binding Foo6}" MinWidth="100" />
	</telerik:RadGridView.Columns>
</telerik:RadGridView>

<DataGrid ItemsSource="{Binding Foos}" AutoGenerateColumns="False" Grid.Row="1">
	<DataGrid.Columns>
		<DataGridTextColumn Binding="{Binding Foo1}" MinWidth="100" />
		<DataGridTextColumn Binding="{Binding Foo2}" MinWidth="100" />
		<DataGridTextColumn Binding="{Binding Foo3}" Width="*" />
		<DataGridTextColumn Binding="{Binding Foo4}" MinWidth="100" />
		<DataGridTextColumn Binding="{Binding Foo5}" MinWidth="100" />
		<DataGridTextColumn Binding="{Binding Foo6}" MinWidth="100" />
	</DataGrid.Columns>
</DataGrid>

in the native DataGrid after the Width of Foo4 column is increased towards Foo3, then the Width of Foo5/Foo6 columns can also be increased. We can implement similar behavior in the RadGridView as well. 

 

Completed
Last Updated: 23 May 2023 11:27 by ADMIN
Release R2 2023
When the ItemsSource of the RadGridView is an empty collection of objects implementing the ICustomTypeDescriptor interface and a column is added an exception is thrown. 
Unplanned
Last Updated: 27 Apr 2023 08:40 by Maurizio
When placed in FixedDocument one of the GridView parents is not a UIElement and this throws internal caught exception in ParentOfType methods used in GridView logic. This leads to performance issues in scenarios with many GridViews in documents.

The aim of this bug fix is to avoid such exceptions by default or with some API.
Unplanned
Last Updated: 27 Mar 2023 09:35 by Martin Ivanov
Convert the Mask property of GridViewMaskedInputColumn to a DependencyProperty in order to be bindable.
Completed
Last Updated: 20 Apr 2023 06:37 by ADMIN
Release LIB 2023.1.424 (24 Apr 2023)
Using a screen reader to read the contents of the RadGridView reads column display indexes incorrectly when columns are frozen on the right.
Completed
Last Updated: 07 Aug 2023 10:27 by ADMIN
Release LIB 2023.2.807 (7 Aug 2023)
Items in ViewModel are asynchronously removed and added from the collection bound to GridView ItemsSource.
While clicking in the GridViewRows, some items might appear selected although they are not foreign group and SelectionChanged is not fired for them being as added items.
Completed
Last Updated: 13 Mar 2024 09:45 by ADMIN
Release 2024.1.130 (2024 Q1)
Allow setting the group header rows height with a property similar to the RowHeight property of RadGridView. For example, a new GroupHeaderRowHeight property can be introduced. The new property should be included also in the UI virtualization calculations. 
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: 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.

Unplanned
Last Updated: 18 Jan 2023 09:56 by Stenly
Currently, when dragging a column's header outside of RadGridView, no icon is shown to indicate that it cannot be dropped there. Whereas dragging an item outside of the bounds of a RadListBox, a cannot drop icon is shown. We could update the drag-drop logic of the column's header to include a similar behavior.
Completed
Last Updated: 02 Feb 2023 13:53 by ADMIN
Release LIB 2023.1.206 (6 Feb 2023)

The background of the GridView's group headers has a light background in the dark color variation of the Windows 11 theme. 

This reproduces only the GroupRenderMode property of RadGridView is set to Nested (the default value).

To work this around set the  GroupRenderMode property of RadGridView to Flat.

Completed
Last Updated: 09 Mar 2023 09:58 by ADMIN
Release R1 2023 SP1

This issue manifests when RadGridView loaded some columns first (which are working) and then add more columns. The additional columns cannot paste values in their cells.

To work this around, mark the new columns as auto generated and call one of the internal methods.

newColumn.IsAutoGenerated = true;
this
.gridView.Columns.Add(newColumn); var collectionViewPropInfo = this.gridView.Items.GetType().GetProperty("CollectionView", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); var qcv = (QueryableCollectionView)collectionViewPropInfo.GetValue(this.gridView.Items); var methodInfo = qcv.GetType().GetMethod("OnElementTypeChanged", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); methodInfo.Invoke(qcv, new object[0]);