Breaking Changes
This article lists and describes the breaking changes introduced in the RadGridView component. For a full list of changes, see the Release History pages of the Telerik UI for WPF product.
2025 Q2
- The export functionality no longer needs a reference to
Telerik.Windows.Zip.dll.
2024 Q2 (2024.2.514)
- Removed the
Telerik.Windows.Controls.ExportFormat.XlsxandTelerik.Windows.Controls.ExportFormat.Pdfenum options. Use the ExportToPdf and ExportToXlsx methods instead.
R3 2022 SP1
- The
CurrentCellChangedevent was removed. Use CurrentCellInfoChanged instead. The event was removed because it was using visual containers in its arguments which cannot be provided successfully in a virtualized scenario because of the containers recycling.
Q2 2015
-
Removed the obsoleted class
GridViewExportEventArgsand TextAlignment, VerticalAlignment, Background, Foreground, FontFamily, FontSize, FontWeight, Width, Height, Styles and Attributes properties fromGridViewElementExportingEventArgsclass.As of Q3 2013
GridViewElementExportingEventArgsexposes a new property calledVisualParameters. The value of the property depends on the export format. You can use this to style the exported element.Replacing the GridViewExportEventArgs styling with the GridViewElementExportingEventArgs
C#// before private void radGrid_ElementExporting(object sender, GridViewElementExportingEventArgs e) { e.Background = Colors.Red; e.FontFamily = new FontFamily("Verdana"); e.FontSize = 30; e.FontWeight = FontWeights.Bold; e.Foreground = Colors.Green; e.Height = 50; e.TextAlignment = TextAlignment.Center; e.VerticalAlignment = VerticalAlignment.Bottom; } // after private void clubsGrid_ElementExporting_1(object sender, GridViewElementExportingEventArgs e) { if (e.VisualParameters is GridViewHtmlVisualExportParameters) { var param = e.VisualParameters as GridViewHtmlVisualExportParameters; param.Background = Colors.Red; param.FontFamily = new FontFamily("Verdana"); param.FontSize = 30; param.FontWeight = FontWeights.Bold; param.Foreground = Colors.Green; param.Height = 50; param.TextAlignment = TextAlignment.Center; param.VerticalAlignment = VerticalAlignment.Bottom; param.Width = 500; } } -
Removed obsoleted property
DefaultOperatorofFilterOperatorsLoadingEventArgs. Use theDefaultOperator1andDefaultOperator2properties instead. -
Removed obsoleted property
ParentGroupRowofGridViewGroupFooterRow. -
Removed obsoleted property
ShowInsertRowofRadGridView. Use the NewRowPosition property instead.
Q2 2014
-
GridViewMaskedTextBoxColumnwas removed. Use GridViewMaskedInputColumn instead. -
GridViewIndicatorCellwas removed. Use another visual, like a Border or any ContentControl instead.
Q2 2013
- DragDrop logic now depends on
DragDropManager. TheRadDragAndDropManagerlogic was removed from theGridViewDataControl(inherited byRadGridView). For any drag/drop customizations, useDragDropManager.
Q1 2012
The filtering enablement in the GridViewExpressionColumn required to write to rewrite the entire filtering infrastructure for the Q1 2012 release. The number of breaking changes was minimized as possible, but some were inevitable.
-
The
IFilteringControl.Preparemethod now expects the more general typeGridViewColumninstead ofGridViewBoundColumnBaseas its argument. -
The
GridViewDistinctValuesLoadingEventArgs.Columnproperty is now of the more general typeGridViewColumn. -
The
GridViewDataControl.GetDistinctValuesfamily of methods now acceptGridViewColumninstead ofIDataFieldDescriptoras their first parameter. -
The
EditorCreatedEventArgs.Columnis now of the more general typeGridViewColumn. -
The
FilterOperatorsLoadingEventArgs.Columnproperty is now of typeGridViewColumninstead ofIDataFieldDescriptor. -
The
ColumnFilterDescriptorclass has been made internal. Use theIColumnFilterDescriptorinterface instead. -
You can't directly instantiate a
ColumnFilterDescriptoranymore since the class has been made internal. When you access theGridViewColumn.ColumnFilterDescriptorproperty, it will be automatically created on demand by the column and you will be given anIColumnFilterDescriptorto work with.Accessing the ColumnFilterDescriptor of a column
C#IColumnFilterDescriptor cfd = myColumnInstance.ColumnFilterDescriptor; -
The
IColumnFilterDescriptor.Columnproperty is now of typeGridViewColumninstead ofIDataFieldDescriptor. -
The
IColumnFilterDescriptor.DistinctFilterproperty is now of typeIDistinctValuesFilterDescriptorinstead ofDistinctValuesFilterDescriptor. -
The
IColumnFilterDescriptor.FieldFilterproperty is now of typeIFieldFilterDescriptorinstead ofFieldFilterDescriptor. -
The
DistinctValuesFilterDescriptorclass has been made internal. It is not supposed to be used directly from your code. Use theIDistinctValuesFilterDescriptorinterface instead. -
The
FieldFilterDescriptorclass has been made internal. It is not supposed to be used directly from your code. Use theIFieldFilterDescriptorinterface instead.
The following examples show some of the changes.
Filtering a Column
// before
GridViewColumn ageColumn = this.radGridView.Columns["Age"];
ColumnFilterDescriptor ageColumnFilter = new ColumnFilterDescriptor(ageColumn);
ageColumnFilter.DistinctFilter.DistinctValues.Add(5);
ageColumnFilter.FieldFilter.Filter1.Operator = FilterOperator.IsLessThan;
ageColumnFilter.FieldFilter.Filter1.Value = 10;
this.radGridView.FilterDescriptors.Add(ageColumnFilter);
// after
GridViewColumn ageColumn = this.radGridView.Columns["Age"];
IColumnFilterDescriptor ageColumnFilter = ageColumn.ColumnFilterDescriptor;
ageColumnFilter.SuspendNotifications();
ageColumnFilter.DistinctFilter.AddDistinctValue(5);
ageColumnFilter.FieldFilter.Filter1.Operator = FilterOperator.IsLessThan;
ageColumnFilter.FieldFilter.Filter1.Value = 10;
ageColumnFilter.ResumeNotifications()
Clearing All RadGridView Filters
// before
this.radGridView.FilterDescriptors.Clear();
// after
this.radGridView.FilterDescriptors.SuspendNotifications();
foreach (var column in this.radGridView.Columns)
{
column.ClearFilters();
}
this.radGridView.FilterDescriptors.ResumeNotifications();