So as you may have already read, 3.0 has some big things for the Dashboard Framework, but it also contains some much requested features for Ultimate as well as the other grids.

1)      Enhancements, All Grids: Addition of the MultiSelectComboBoxEx. This is particularly useful when you have columns with large numbers of selectable values. Right now with the regular MSCB, you have to scroll through and select them individually. Now, you can simply search and add. Below is a screenshot of this new component.

2)      Enhancement, All Grids: Built in documentation : This is something that our source customers already have, but non-source customers should have documentation built into the swc. So now when you hover over a flexicious component, property or event in FlashBuilder, it should show you the documentation like the other sdk components:

3)      Enhancement, All Grids: Pure Native Excel export. This is probably one of the most asked for features in Ultimate. For the longest time we had said, our export mechanism allows you to simply plug in your own exporters. One of the reasons we did not do this initially is that to write native excel files, you have to import a library like as3xls. We did not want to include this into the core, since that would create a hard dependency. So in this release, we did with as3xls what we did with AlivePDF previously, in that we exposed a mechanism for you to easily plugin a Native Excel Exporter, and provided a Native Excel Exporter that integrates with as3xls out of the box. The new sample code, SimpleGrid.mxml shows how easy this is: nativeExcelExporter="{new As3XLSExporter()}". This basically swaps out the built in CsvExporter with native excel one behind the scenes, and you get pure excel docs. In case you want to control the logic, you can do that since the code is now in As3XLSExporter which is open for you to make changes. In addition to this, we have an Excel 2007 version of the exporter, that spits out Open Office Excel Markup Language. It saves an xml file, but this file can be opened in excel without the dreaded “The file you are trying to open is in a different format than specified by the file extension” message. The big upside of the excel 2007 exporter is that it lets you achieve a combination of no extension message, PLUS the ability to define styles and fonts. Finally, double clicking on this file will automatically open excel on systems that have Office 2007 and above installed. You can wire the excel 2007 explorter by using nativeExcelExporter="{new Excel2007Exporter()}" See below for a screenshot:

Both the AS3XlsExporter and Excel2007Exporter are included with the latest sample projects. You can also download them here : As3XLSExporter.as (4.33 kb) and Excel2007Exporter.as (4.83 kb). If you use the AS3XLSExporter, you will also need the AS3XLS library, which can be downloaded here: https://code.google.com/p/as3xls/ 

4)      Enhancement, Ultimate: Complete rewrite of the tab-handling mechanism. Previously, fast tabbing caused the grid to lose focus. It was not possible to selectively mark some cells as editable and still maintain keyboard navigation. Now, both these requirements can be met for cell based edit. Although sounds trivial, focus handling in flex is a major challenge that we were able to overcome in this release. Also, attached is an example that shows the new cellEditableFunction to selectively mark cells as editable.

CellEditable.mxml (2.88 kb)

5)      Enhancement, Ultimate: Support for Full Row Edit. In scenarios where there is cross dependencies between different cells, it makes sense to make changes to the entire row before committing changes. So, for the first time in the history of Flex, a DataGrid that supports entire row edit. See the enableRowEdit flag for details. Screenshot below:

6)      Enhancement, Ultimate : Added support for column header operations. A configurable list of column header operations that can be applied to each column:

7)      Enhancement, Ultimate : Complete rewrite of the header/column group rendering mechanism. This was requested by a number of our customers, and we managed to squeeze it in for this release. Basically, Ultimate always had a limitation, that it could only render header cells and column group cells of equal height. This worked fine where you had single line headers, but as soon as we start talking about multiline headers or complex header renderers along with column group renderers, Ultimate did a very poor job of rendering these. So, we rewrote the header/column group rendering mechanism to combat this scenario. Below is what you would see when you run the attached file with 2.9 vs 3.0.

 

VerticalHeaderMore.mxml (3.95 kb)

8)      Enhancement, Ultimate : The MultiSelectComboBox now works like Excel, where it does not allow you to uncheck all and click ok. This usually led to inconsistent behavior.

9)      Enhancement, Ultimate : Native support for GroupingCollection and GroupingCollection2

10)   Enhancement, Ultimate : Much better, faster mechanism for drawing filler rows.

11)   Enhancement, All Grids : The MSCB now supports spacebar based checkbox selection

12)   Enhancement, All Grids : Added the beforeExport, afterExport and preferencesLoading events. The export events allow you to customize the text being exported as shown below:

  1. addEventListener(ExportEvent.AFTER_EXPORT,onAfterExport);

protectedfunction onAfterExport(event:ExportEvent):void

              {

                     if(event.exportOptions.exporter is CsvExporter){

                           var csvBody:String = event.textWritten;

                           csvBody = “Report Title” + "\n" + “Subtitle” + "\n" + csvBody;

                           event.textWritten = csvBody;

 

                     }

              }

 

13)   Enhancement, All Grids : The numeric text input filter now supports decimals (previously it only supported integers).

14)   Enhancement, Ultimate: Shift Select support when selectionMode=multipleCells.

15)   Enhancement, Ultimate: Export will now respect the expand/collapse state of the grid. Option needs to be explicitly enabled, exportCollapsedRows on ExportOptions.

16)   Enhancement, Ultimate : Added headerTooltip flag to FlexDataGridColumn

17)   Enhancement, Ultimate : Added bankValuesLabel property to FlexDataGridColumn to show blank values in MSCB

18)   Enhancement, Ultimate : Added the built in UTF8ExcelExporter, useful for non-ascii characters in excel export. Just set useExcelExporter flag=true in export options.

19)   Enhancement, Ultimate: The Print, Export, as well as Settings window will now show column group header text concatenated with the column header text for better readability

20)   Bug Fix, Ultimate : Scrolling with tall rows caused grid to show partially drawn rows.

21)   Bug Fix, All Grids : Clearing the Grid sometimes did not clear the MSCB correctly.

22)   Bug Fix, Classic – the selectAllChange event was being dispatched incorrectly when there was only a selected key change

23)   Bug Fix, All Grids : When the same date is chosen in the DateComboBox custom date range, no records are returned.

24)   Bug Fix, All Grids : When you choose a custom date range, cancelling does not revert to old date range.

25)   Bug Fix, All Grids : Printing a Grid and then printing it again caused the first page to be printed blank.

26)   Bug Fix, Classic : In certain scenarios, the last record to be printed was being skipped.

27)   Bug Fix, Ultimate: Added flag to print and export options to completely remove hidden columns from being printed/exported, or to simply not select them by default (see hideHiddenColumns and excludeHiddenColumns) on PrintExportOptions

28)   Bug Fix, Ultimate: When filterPageSortMode=server, sorting on any page always reported pageIndex=0.

29)   Enhancement, Ultimate : Added support for Copy Selected Rows menu operation.

30)   Enhancement, Ultimate : Added the stylesToTransfer property to PrintOptoins. By default, it includes textAlign. This way, print will carry over text align settings from the parent datagrid. This array can be extended to include any additional style properties you want to carry over from the parent datagrid columns, while still maintaining a separate look and feel for the print version of the datagrid.

31)   Enhancement, Ultimate : new Style property : dataCellEmbeddedFonts - previously, you could not use enableDataCellOptimization with embedded Fonts. We added support for embedded fonts to FlexDataGridDataCell3, which makes it possible for you to leverage the performance gains while using embedded fonts.

32)   Added the printJob parameter to PrintPreviewEvent for better control over the print output.