Support

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

  • The AgMenuBase.TemplateCollection property has been renamed to Templates.

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

  • DXGrid for WPF v2009 vol 1 is not compatible with v2008 vol 3 due to numerous API changes.

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

  • The type of the TreeListPainter.NodeDragImages and TreeListPainter.IndicatorImages properties has been changed to DevExpress.Utils.ImageCollection.

More from DevExpress
Live Chat
Have a pre-sales question?
Need assistance with your evaluation?
We are here to help.
Chat is one of the many ways you can contact members of the DevExpress Team. We are available Monday-Friday between 8:30am and 5:00pm Pacific Time.
If you need additional product information, require pre-sales assistance, or want help with your order, write to us at info@devexpress.com or call us at
+1 (818) 844-3383.