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.
2024 Q2 (2024.2.514)
- Removed the
Telerik.Windows.Controls.ExportFormat.Xlsx
andTelerik.Windows.Controls.ExportFormat.Pdf
enum options. Use the ExportToPdf and ExportToXlsx methods instead.
R3 2022 SP1
- The
CurrentCellChanged
event 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
GridViewExportEventArgs
and TextAlignment, VerticalAlignment, Background, Foreground, FontFamily, FontSize, FontWeight, Width, Height, Styles and Attributes properties fromGridViewElementExportingEventArgs
class.As of Q3 2013
GridViewElementExportingEventArgs
exposes 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
// 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
DefaultOperator
ofFilterOperatorsLoadingEventArgs
. Use theDefaultOperator1
andDefaultOperator2
properties instead.Removed obsoleted property
ParentGroupRow
ofGridViewGroupFooterRow
.Removed obsoleted property
ShowInsertRow
ofRadGridView
. Use the NewRowPosition property instead.
Q2 2014
GridViewMaskedTextBoxColumn
was removed. Use GridViewMaskedInputColumn instead.GridViewIndicatorCell
was removed. Use another visual, like a Border or any ContentControl instead.
Q2 2013
- DragDrop logic now depends on
DragDropManager
. TheRadDragAndDropManager
logic 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.Prepare
method now expects the more general typeGridViewColumn
instead ofGridViewBoundColumnBase
as its argument.The
GridViewDistinctValuesLoadingEventArgs.Column
property is now of the more general typeGridViewColumn
.The
GridViewDataControl.GetDistinctValues
family of methods now acceptGridViewColumn
instead ofIDataFieldDescriptor
as their first parameter.The
EditorCreatedEventArgs.Column
is now of the more general typeGridViewColumn
.The
FilterOperatorsLoadingEventArgs.Column
property is now of typeGridViewColumn
instead ofIDataFieldDescriptor
.The
ColumnFilterDescriptor
class has been made internal. Use theIColumnFilterDescriptor
interface instead.-
You can't directly instantiate a
ColumnFilterDescriptor
anymore since the class has been made internal. When you access theGridViewColumn.ColumnFilterDescriptor
property, it will be automatically created on demand by the column and you will be given anIColumnFilterDescriptor
to work with.Accessing the ColumnFilterDescriptor of a column
IColumnFilterDescriptor cfd = myColumnInstance.ColumnFilterDescriptor;
The
IColumnFilterDescriptor.Column
property is now of typeGridViewColumn
instead ofIDataFieldDescriptor
.The
IColumnFilterDescriptor.DistinctFilter
property is now of typeIDistinctValuesFilterDescriptor
instead ofDistinctValuesFilterDescriptor
.The
IColumnFilterDescriptor.FieldFilter
property is now of typeIFieldFilterDescriptor
instead ofFieldFilterDescriptor
.The
DistinctValuesFilterDescriptor
class has been made internal. It is not supposed to be used directly from your code. Use theIDistinctValuesFilterDescriptor
interface instead.The
FieldFilterDescriptor
class has been made internal. It is not supposed to be used directly from your code. Use theIFieldFilterDescriptor
interface 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();