Home Forums WPF controls Xceed DataGrid for WPF New Version 1.1 released!

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
  • Odi [Xceed]
    Post count: 426
    #23029 |

    Dear developers,

    Xceed is pleased to present the newest version of Xceed DataGrid for WPF, the fastest, most powerful grid control for Windows Presentation Foundation.

    Version 1.1 of Xceed DataGrid for WPF features significant performance improvements, new standard capabilities, and bugfixes, all for free, but also advanced features available exclusively to Vanguard subscribers. See this <a href=”http://xceed.com/pages/images/general/wpf-grid-compare.png”>table</a&gt; comparing our WPF datagrid offerings (with and without a Vanguard subscription) to the competition.

    Among the new free features are enhanced sorting, grouping, and scrolling performance, making Xceed DataGrid for WPF the fastest WPF grid control available on the market.

    <b>Technical note: To benefit from all the performance enhancements, it is important to use the new DataGridCollectionView as a data source, instead of the regular CollectionView.</b>

    The new custom CollectionView provides fine-grained and efficient control over the grid’s underlying data source, resulting in improvements to sorting and grouping. When sorting, this class also provides an increase of perfomance of roughly 20%. Furthermore, a new generator has allowed Xceed to implement truly snappy real-time scrolling, twice as fast as the competition!

    Also new as standard features are the ability to control whether end-users can sort, group, or re-order columns, and a customizable “today” label in the calendar.

    All registered users can take advantage of these new free features and performance enhancements, in addition to the bugfixes. Current users of version 1.0 can update their license key by visiting the <a href=”http://xceed.com/GridWpfRegistration.aspx”>Xceed DataGrid for WPF registration page</a>.

    Vanguard subscribers additionally have access to new advanced features. Office 2007 (blue, silver, and black) and Windows Media Player 11 themes expand the options for the appearance of the datagrid. Fixed column support lets end-users choose columns that remain visible while the grid is scrolled horizontally, for maximum flexibility in data visualization and end-user interactivity.

    In addition to providing advanced upgrades for a year, a Vanguard subscription with Xceed DataGrid for WPF means priority telephone and e-mail support. For more details on how to obtain a Vanguard subscription, contact our sales department.

    Here’s a list of bug fixes also included with v1.1 (not including bugs fixed in the Feb 23, April 3, and April 18 minor updates):

    * The grid now properly updates itself when the data source changes while there are Groups.

    * Added an attached property (GroupLevelIndicatorPane.GroupLevel) to the GroupLevelIndicatorPane class that corresponds to the group level of a child item.

    * The RowSelector now has a default Style that specifies a default Template, enabling application-level implicit styles to be applied to the RowSelector without losing the existing Template.

    * An exception no longer occurs when changing the ItemsSource while a DataRow is being edited.

    * A focus management problem no longer occurs when the first column of the grid is not visible.

    * The SelectedItems are now preserved after sorting the grid data (via DataGridCollectionView).

    * Dragging ColumnManagerCells when the FlowDirection is RightToLeft now works properly.
    The DataGridControl.Template property can now be set in XAML.

    * The DataGridControl’s content now updates properly when it is bound to a DataTable and the content of the DataTable changes (via DataGridCollectionView).

    * A FieldName must now be assigned to a Column before adding the Column to the DataGridControl.Columns collection.

    * The CurrentCell is no longer always brought into view after sorting the grid’s data.
    The DatePicker now reverts to the currently displayed month when SelectedDate is null.
    The proper system themes are now applied to the standard controls (CheckBox, ScrollBar, etc.) from the DataGridControl’s OS themes.

    * Removing selected items from the data source now removes them from the DataGridControl.SelectedItems collection. Removing the Current item from the data source now resets DataGridControl.CurrentItem to null.

    * Layout issues no longer occur when toggling the Visible state of a Column.
    An exception no longer occurs when changing the grid’s View to CardView or CompactCardView while there are no data items in the grid.

    * Changed the default border color of the DataGridControl in the Classic theme.
    Navigating in the InsertionRow’s cells when the FlowLayout property is set to RightToLeft now works properly.

    * Inputting 2-digit year numbers in the DatePicker now works properly.

    * The DatePicker’s Calendar now properly displays the last day of the previous month.

    * Fixed a layout problem with the DataGridControl when its parent’s SizeToContent property was set to true.

    * DataGridControl.CurrentColumn is now reset to null when the CurrentColumn is removed from the DataGridControl.Columns collection.

    * The horizontal scroll bar is now always visible by default in CardView and CompactCardview.

    * The DataGridControl no longer raises two SelectedIndexChanged events when the selection changes.

    * Fixed scrolling problems that occur when a Row’s height is greater than the DataGridControl’s viewport height.

    * Fixed a problem with selecting or unselecting the current row with the mouse.

    * UI group and sort modifications are now prevented when DataGridControl.Items.CanGroup or DataGridControl.Items.CanSort is false.

    * Fixed a problem in the way the VirtualizingCardPanel handles the RequestBringIntoView event.

    * Fixed a problem with RowSelectors staying visible when their corresponding Row’s Visibility property is set to Collapsed.

    * The custom CellContentTemplates used in the SolidFoundation sample in LiveExplorer now takes the Column.TextTrimming property into consideration.

    Imported from legacy forums. Posted by Odi [Xceed] (had 4788 views)

    User (Old forums)
    Post count: 23064

    Has the documentation been updated as well? I looked for a description of DataGridCollectionView here but did not find it:


    Thanks, and congratulations!


    Imported from legacy forums. Posted by Marty (had 463 views)

    Xceed Support
    Post count: 5658


    No. Not yet. I have asked our web admin to update it ASAP. The documentation in the package is the latest and contains this information.

    Sorry about the inconvenience. The documentation should be updated very soon.

    Imported from legacy forums. Posted by Jenny [Xceed] (had 396 views)

    User (Old forums)
    Post count: 23064

    Sounds like some great updates.

    What do we need to do to use the new DataGridCollectionView? Will it not be used by default if we bind to an ObservableCollection?

    Also why have you deprecated the ItemContainerGenerator? Does it really make sense to deprecate something that is in the base class?! Now all my generic methods which work on the ItemsControl class do not work with your grid and I will need two versions of them all!

    Imported from legacy forums. Posted by nmosafi (had 566 views)

    Xceed Support
    Post count: 5658

    Hi Neil,


    Unfortunately, our base class ( ItemsControl ) already defines a lot of behavior concerning the selection of the appropriate type of CollectionView to instantiate to wrap up the data source passed into the ItemsSource property. This behavior could not be changed.

    At the same time, if we wanted to provide the greatest amount of flexibility, we felt like creating an external collection view. Allowing for replacement, customization, and so on.

    To use the DataGridCollectionView, all you need to do is to create a DataGridCollectionView and assign your data source as the source collection for the DataGridCollectionView, you can then assign the DataGridCollectionView to the ItemsSource property of the DataGridControl ( This is for code-behind).

    For XAML, you can declare a DataGridCollectionViewSource and use it as a wrapper for your data source before setting it as the ItemsSource.

    I encourage going through the documentation and code samples as Jenny placed a great effort in retro-fitting everything to demonstrate the use of the DataGridCollectionView.

    <b>ItemContainerGenerator property</b>

    Concerning the deprecation of the ItemContainerGenerator property. This one has been an incredibly tough decision for us… We are more than aware that a lot of people are using the ItemContainerGenerator to access the DataRow objects for their data items… Even ourselves, publicized this approach for several purposes.

    To better understand the deprecation, you have to understand that in order to preserve the ItemsControl philosophy (as much as possible) as well as the “advanced” features of the DataGridControl ( from the ItemsControl standpoint), we had to create our own ItemContainerGenerator.

    In version 1.0, this “custom made” generator was using the “system” generator to ensure that the system generator was kept up to date with the content of the DataGridControl.

    This placed a lot of constraints on the custom made generator, and being placed in front of several performance bottlenecks, we had to refactor a large portion of it. During that refactoring, we made the choice to “lose” the synchronization of the generators to improve memory consumption and general performance.

    The end result of this is a significant improvement of the time required to generate a page (allowing for the return of the “live” scrolling )

    Even if we did deprecate the ItemContainerGenerator property, we ensured that the interface functions from that class remained accessible through 4 methods on the DataGridControl ( named from each of the 4 interface functions on the ItemContainerGenerator class [Getxxx()] ).

    We are sorry that this modification impacts your code, but we are convinced that it is for the general good of our users.

    Imported from legacy forums. Posted by Marcus [Xceed] (had 369 views)

    User (Old forums)
    Post count: 23064

    Hi Marcus

    Thanks for the detailed explanation. I was unaware of the DataGridCollectionViewSource (I hadn’t checked the online docs yet!) – I will update all my files to use that rather than direct data binding of the ItemsSource to a collection.

    Regarding the ItemsControl I can now understand why you did this. I guess it’s an annoying limitation that WPF’s ItemContainerGenerator is sealed and that ItemsControl.ItemContainerGenerator property is not virtual.


    Imported from legacy forums. Posted by nmosafi (had 5361 views)

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.