|


|
Breaking Changes in v2009 vol 1.1
This page lists important behavior and API changes, which were introduced in this version. If you already have projects using DXperience, you will need to peruse this list in order to understand the changes you might need to make to your source code to support this new release. Note that we only publish the changes to the public interface of our controls. We reserve the right to change the protected, internal, or private interfaces when needed.
AgMenu Suite
ASPxGridView and Editors Suite
SettingsCookies.StoreColumnsVisibilePosition has been renamed to SettingsCookies.StoreColumnsVisiblePosition Typo fixed, visiBILE has been changed to visiBLE.
ASPxperience Suite
The logic of rendering the ASPxDataView control to a page has been changed - it is now always rendered, even if it's empty Previously, an empty ASPxDataView control that didn’t contain data items wasn't rendered into the page, and it couldn't be accessible on the client side via code.
Now, the rendering logic of the ASPxDataView control has been changed and it is always rendered into the page, be it empty or not. For an empty ASPxDataView control a specific explanatory text or a custom template can now be rendered.
Core of ASPxPivotGrid and XtraPivotGrid
The CreateDrillDownDataSource method's result has been changed. This note applies only to MS SQL Server Analysis Services 2005 and 2008.
Now, the CreateDrillDownDataSource method returns columns corresponding to the current column, row and data PivotGrid fields. In addition, it returns filter fields if a filter is applied to them.
Core of ASPxScheduler and XtraScheduler
CollectionChangedAction enum has been moved from the DevExpress.XtraScheduler namespace to the DevExpress.Utils namespace CollectionChangedEventArgs<T> has been moved from the DevExpress.XtraScheduler.Native namespace to the DevExpress.Utils namespace CollectionChangedEventHandler<T> has been moved from the DevExpress.XtraScheduler.Native namespace to the DevExpress.Utils namespace CollectionChangingEventArgs<T> has been moved from the DevExpress.XtraScheduler.Native namespace to the DevExpress.Utils namespace CollectionChangingEventHandler<T> has been moved from the DevExpress.XtraScheduler.Native namespace to the DevExpress.Utils namespace DevExpress.XtraScheduler.CustomFieldCollection.Capacity property has been removed. DXCollection<T> has been moved from the DevExpress.XtraScheduler namespace to the DevExpress.Utils namespace DXCollectionBase<T> has been moved from the DevExpress.XtraScheduler namespace to the DevExpress.Utils namespace DXCollectionWithSetItem<T> has been moved from the DevExpress.XtraScheduler namespace to the DevExpress.Utils namespace NotificationCollection<T> has been moved from the DevExpress.XtraScheduler namespace to the DevExpress.Utils namespace Several non-generic collection-related classes have been marked obsolete The following non-generic classes are now obsolete:
NotificationCollection, CollectionChangingEventHandler, CollectionChangingEventArgs, CollectionChangedEventHandler, CollectionChangedEventArgs. The DevExpress.XtraScheduler.CustomFieldCollection class no longer implements the ICollection interface. In general, this breaking change shouldn't have any effect on your applications, unless you have directly cast a CustomFieldCollection object to the ICollection interface. The DevExpress.XtraScheduler.CustomFieldCollection class no longer implements the IList interface. In general, this breaking change shouldn't have any effect on your applications, unless you have directly cast a CustomFieldCollection object to the IList interface.
DXCharts for WPF
DXCharts for WPF v2009 vol 1 is not compatible with v2008 vol 3 due to numerous API changes. For example:
- The AreaSeries class has been renamed to the AreaSeries2D.
- The LineSeries class has been renamed to the LineSeries2D.
- The BarModelKind class has been renamed to the Bar2DModelKind.
- The BarSeries class has been renamed to the BarSideBySideSeries2D.
- The BarModelDescriptor class has been renamed to the Bar2DModelDescriptor.
- The MarkerKind class has been renamed to the Marker2DKind.
- The MarkerModelDescriptor class has been renamed to the Marker2DModelDescriptor.
- The AxisLabelPosition enumeration has been renamed to the Axis3DLabelPosition.
- The BarLabelPosition enumeration has been renamed to the Bar2DLabelPosition.
- The SeriesXYUnwindingAction class has been renamed to the SeriesUnwindingAction.
- The LineSeries2DBase class has been removed. Now, the LineSeries2D and AreaSeries2D classes are descendants of the PointSeries2DBase class.
- The IMarker2D interface has been introduced. This interface allows you to access series marker properties.
- The PieSeries2D and PieSeries3D classes have been derived from the base PieSeriesBase class.
- The VisualContainer2D and VisualContainer3D classes have been united into a single VisualContainer class.
- The BarModelDescriptor.BaseColor property has been removed.
- The BarSeries3D.BaseColor property has been removed.
- The MarkerModelDescriptor.BaseColor property has been removed.
- The SeriesLabel.BaseColor property has been removed.
- The PieSeries3D.PercentOptions property has been removed. New PercentView class has been introduced to substitute for this property. For now, this class contains the attached PercentOptions property which can be set to the PointOptions object, if the series supports percentages (e.g. PieSeries3D, AreaFullStackedSeries2D etc.).
- The type of PieSeries3D.HoleRadiusPercent property was changed. The PieSeries3D.HoleRadiusPercent has been moved to PieSeriesBase class, and type of HoleRadiusPercent property was changed from int to double.
DXGrid for WPF
eXpressApp Framework
ActionContainer's events are refactored The ActionContainerBarItem.CreateCustomActionControl and DefaultBarActionItemsFactory.CreateCustomBarItemControl events, which were used for backward compatibility, have now been removed. In addition the non-generic CreateCustomActionControlEventArgs and CreateCustomActionControlArgs classes have been removed as well. In order to access the controls created for Actions, you should use the ActionContainerBarItem.CustomizeActionControl and DefaultBarActionItemsFactory.CreateCustomBarItemControl events. The latter event is static.
The BarActionItemsFactory.BarItemChanged event now has the arguments of the BarItemChangedEventArgs type.
The BarActionItemsFactory<ItemInfoType> class' CreateBarItem protected method has been renamed to "CreateActionItem". Actions with the Unspecified category The Default Action Container has been removed from the context menu that can be invoked for List Views. So, Actions with the Unspecified category are no longer displayed in the context menu. They are only visible in the toolbar. Non-persistent properties are now excluded from the search performed by the "Filter by Text" Action. To add a non-persistent property to the set of the properties that are used by the "Filter by Text" Action's SearchCriteriaBuilder to generate a filter criterion, apply the SearchMemberOptions attribute with the SeachMemberMode.Include parameter value to this property. Setters for several properties have been removed Setters for the following properties have been removed:
RuleValidationResult.IsValid
RuleValidationResult.ErrorMessage
RuleSetValidationResultItem.Rule
RuleSetValidationResultItem.Target
RuleSetValidationResultItem.ErrorMessage Several obsolete methods have been removed The methods that were removed are:
RuleSetValidationResult.GetOldValidationResults(Boolean returnOnlyInvalid)
RuleSetValidationResult.GetOldValidationResults() The Clear command in the lookup property editor in Windows applications has been changed The Clear command in the lookup property editor for Windows applications is now an action, not a simple button.
So the button caption should be localized the same way as captions for another actions in XAF, that is in the "Application/ActionDesign/Actions/Clear" node in the model. The CollectionSourceBase class has been refactored. The CollectionSourceBase.Collection property now raises an exception when the CollectionSourceBase instance is being initialized (that is, the IsInitialization property returns true). This allows us to prohibit access to the Collection until all Controllers are initialized.
So, it is now impossible to use the Collection property in a Controller's OnActivated method or Activated event handler. The CollectionSourceBase.CollectionChanged event should be used instead. The invisible ViewsNavigation Action Container has been removed from the Main Form's toolbar Previously, the ShowNavigationItem Action was mapped to the following Action Containers:
- NavBarActionContainer. It displayed the Action via a navbar.
- ActionContainerBarItem. It didn't display the Action, but it was used to support keyboard shortcuts for the Action's items.
The ActionContainerBarItem Action Container now displays the Action as an item in the View menu of the Main Form Template. So, the Action is displayed by two controls in the main form: navbar and menu item. The point in time when the ModuleBase.Setup method is called has been changed Previously, the ModuleBase.Setup method was not called by the XafApplication.Setup method. Now, it's called just after a module is added to the XafApplication.Modules list. XAF ProjectConverter is now obsolete. Use the ProjectConverter from the DXperience suite instead.
The upgrade tool is available here: <drive>:\<path to the installation folder>\DevExpress 2009.1\Components\Tools\DXperience\ProjectConverter.exe
To learn more about this tool, check the following help topic: Upgrade Notes.
XtraCharts Suite
The PointOverlappingOptions.AttractToMarker and PointOverlappingOptions.IndentFromMarker obsolete properties have been removed. Instead, use the OverlappingOptions.Mode and SeriesLabelBase.LineLength properties, respectively. The Side-by-side Bars behavior has been changed. If two series of the Bar, the Side-by-side Range Bar, or the Side-by-side Gantt series view have the same X-axis and different Y-axes, they are now placed side-by-side (whereas in previous versions, they were overlapped).
XtraGrid Suite
By default, now pressing the PAGE DOWN key focuses the bottom visible record This change to the functionality improves the navigation and selection behavior when using the Page Down key. From now on, if the top record is focused, pressing Page Down moves focus to the bottom visible record. In multiple selection mode, pressing Shift + Page Down selects all the records between the top and the bottom visible records, and moves focus to the bottom record. This means an end-user will clearly see the current selection. In previous versions, the selection was scrolled out of view.
To revert to the old navigation mode, set the GridOptionsNavigation.UseOfficePageNavigation property to false. GridColumn.Caption is set to an empty string while populating columns By default, when populating columns, the GridColumn.Caption property is set to an empty string. The actual column captions are generated automatically based on field names. However, you can provide custom column captions by assigning them to the GridColumn.Caption property. The CardOptionsPrint.PrintSelectedCardOnly property, if set to true, now enables the printing and exporting of all selected cards. In previous versions, if this property was set to true, only the focused card was printed The default value of the CardView.CardCaptionFormat is now the empty string, and the actual value is retrieved from the resources. The CardView.CardCaptionFormat property has been made localizable.
Now the default value retrieved by this property is the empty string. The actual value is specified by the resources files.
You can still change the CardCaptionFormat property if you want to override the default value stored in the resource files. The type of the CacheValuesOnRowUpdating property has been changed This version corrects a typo in the name of the CacheValuesOnRowUpdating property's type. When an end-user changes the summary type via context menus, the summary values are now formatted according to the column's DisplayFormat A column's cells are formatted according to the GridColumn.DisplayFormat property. In v9.1, the summary values are also formatted using this format. While copying cells to clipboard, the header text is now also copied to the clipboard
XtraReports Suite
Approaches to runtime customization of an XRTable control's rows and cells have been changed. It is now always required to use XRTable.BeginInit and XRTable.EndInit methods when modifying the collection of table rows (XRTable.Rows) or row cells (XRTableRow.Cells) at runtime. If you're creating an XRTable at runtime and manually adding XRTableRow and XRTableCell objects to it, now the XRTable's size doesn't depend upon the size of the XRTableRow and XRTableCell objects being added to it. So, you need to manually set the table's size and width before calling the XRTable.EndInit method. For more information, refer to the following example: E1356. Serialization - Conditions for datasource serialization to a REPX file have been changed. This change is caused by fixing the following issue: B132465.
Now, when a report is saved to a REPX file, if it has both the data source and data adapter assigned to its DataSource and DataAdapter properties, these data source and data adapter's definitions are also saved to the REPX file along with the report. In all other situations, neither data source nor data adapter are saved to a REPX file.
Also, now you can manually decide which components should be serialized to a REPX file, and which should not. For this, use the newly introduced XtraReport.SaveComponents event. Some ReportStringID constants have been removed because the corresponding properties' ReportStringID constants are now used instead. This was done in order to fix the issue B32845.
The following ReportStringID constants have been removed:
STag_Name_FillColor
STag_Name_ForeColor
STag_Name_LineWidth
STag_Name_Angle
STag_Name_AnchorVertical
STag_Name_Stretch
STag_Name_Shape
STag_Name_FormattingRules
STag_Name_FormattingRuleSheet
STag_Name_Fillet
STag_Name_TailLength
STag_Name_TipLength
STag_Name_NumberOfSides
STag_Name_StarPointCount
STag_Name_Concavity
STag_Name_ArrowHeight
STag_Name_ArrowWidth
STag_Name_VerticalLineWidth
STag_Name_HorizontalLineWidth
STag_Name_PrintOn
STag_Name_OLAPConnectionString
STag_Name_DataSource
STag_Name_DataMember
STag_Name_DataAdapter
STag_Name_Text
STag_Name_BackColor
STag_Name_Font
STag_Name_LineDirection
STag_Name_LineStyle
STag_Name_Summary
STag_Name_AutoWidth
STag_Name_CanGrow
STag_Name_CanShrink
STag_Name_Multiline
STag_Name_WordWrap
STag_Name_Symbology
STag_Name_Module
STag_Name_AutoModule
STag_Name_BarCodeOrientation
STag_Name_ImageSizing
STag_Name_ShowText
STag_Name_SegmentWidth
STag_Name_CheckState
STag_Name_Image
STag_Name_ImageUrl
STag_Name_ReportSource
STag_Name_Borders
STag_Name_BorderColor
STag_Name_BorderWidth
STag_Name_PageInfo
STag_Name_StartPageNumber
STag_Name_Format
STag_Name_RepeatEveryPage
STag_Name_PrintAtBottom
STag_Name_GroupUnion
STag_Name_GroupFields
STag_Name_SortFields
STag_Name_KeepTogether
STag_Name_Level
STag_Name_PrintOnEmptyDataSource
STag_Name_ReportUnit
STag_Name_StyleSheet
STag_Name_Watermark
STag_Name_FilterString The XtraReport.BackColor property no longer changes the page color. This change was done in order to fix issue B32611. Use the XtraReport.PageColor property instead. When a report is exported, postbacks are now always used instead of callbacks. The ReportViewer.ExportViaPostback property has been removed, because it is now always treated as True.
XtraTreeList Suite
|