Today marks the release of v3.2 of Xceed DataGrid for WPF. This is the 9th major update since the product was first introduced 2.5 years ago. Another one is coming, hot on its heels for August, with smooth scrolling innovations and other UI improvements, but here's what's new in today's release.
- There are now two paid editions of the DatagGrid, the new Standard Edition, and the existing Professional Edition.
- The new Standard Edition is aimed at folks who don’t need a whole lot of advanced features, but would still like to save time and get better results than when using Microsoft’s upcoming datagrid for WPF. The time saved, from the more complete design, abundant data binding options, documentation and helpful Xceed staff should easily outweigh its affordable $300 cost. It also has more features than the Microsoft grid, such as rich grouping support, more cell editors and input validation. Best of all, there’s a built-in instant upgrade path, so if your users eventually want filtering, printing, exporting, field chooser or other features, you can just upgrade and turn those capabilities on, instead of being painted in a corner with a control not designed to do them.
So what’s new in v3.2? For this release, we’ve made getting to your data, and presenting it properly, a lot easier to do.
- First, the datagrid now autodetects foreign keys in your datatables, so now it is easier than ever to display the corresponding values you want to display, instead of IDs. It also works with enumerations. To activate this new feature, just set AutoCreateForeignKeyConfig to True.
- Next, we added support for custom key value mappings. This makes it easy to map any kind of values or objects to fields in your data that represent keys. For example, if your table of employees has an Employee ID integer field representing an employee object, you can easily map that field so that the datagrid uses corresponding employee’s First name and Last name fields formatted as “Last name, First name” as the value to be displayed instead of the integer.
- Next, for users of the powerful Data Virtualization feature – which in v3.2 now also supports grouping – if your data source implements IQueriable, and LINQ does, we’ve made providing data to the datagrid a snap. You no longer have to handle a bunch of events to provide the datagrid with data, and you no longer have to worry about how the datagrid is sorted or grouped. Doing so was tiresome, now it’s code free.
- We also completed full support for the Entity Framework, which makes it super easy for Entity Framework users to get the grid to display hierarchical data. When binding the datagrid to a list of Entity objects, the datagrid will now automatically find and load the detail data into subgrids and use master/detail view. To turn this on, set AutoCreateDetailsDescription to True on the DataGridColectionViewSource and AutoCreateDetailConfigurations to True on the datagrid.
- We’ve also made it easier to work with unbound columns, in two ways. First, we support unbound data, which appends data to business objects that the grid displays. This method is great for displaying calculated columns or anything else which depends on the data. Second, we now directly support unbound columns, for displaying static information, such as a delete button for every row, progress bars, or any other controls or content which don’t depend on data.
The other important updates in this release deal with filtering. In previous versions, we offered Excel-like auto filtering, which provides a button for each column so that users can filter in the same way Excel does. In this version, there are two important additions to filtering capabilities for end users.
- First, we’ve added the ability for developers to define their own custom distinct values to add to the AutoFilter drop-down. You can use this to make the auto-filtering choices a lot more useful for end-users. For example, on a column with dates, you can offer the choice to filter by month. For names, the filtering choices could now be “A-C”, “D-F”, and so on. For numbers, you could group them into appropriate ranges, such as “0-99”,”99-1000” or “Odd numbers” and “Even numbers” – anything you want.
- Next, we’ve added a new row type, called the Filter Row. This row can be placed in the grid’s fixed or scrolling headers or footers, and provides users with an alternate way to set and view the datagrid’s current filter settings. It’s always visible, and works great with date ranges, as you can set a start and end date to filter by, or set value ranges such as “>5 AND <10”. You can filter Booleans using a three state checkbox, and strings can be filtered by typing a value that is contained in the string.
One last thing. The datagrid is now compiled for .NET 3.5 SP1. This service pack has been available for some time, and according to Microsoft, should be automatically pushed out and installed everywhere through Windows Update around the November timeframe.
Thanks, and I can’t wait to show you the a video of what’s in the next release, a release that’s coming soon, and has lots of amazingly responsive smooth scrolling and animation.
Let us know what else you want us to implement, by posting in the Roadmap 2009 thread on the forums at Xceed.com.
Good programming!