A little over a month after 2.2, we're proud to present, Flexicious 2.3.As usual, use the build page to request a build.

Whilst most of the additions are isolated to Ultimate, there are some for Classic as well.

The biggest addition is the addition for full renderer recycling for all of the Chrome levels. This does not mean much for you if you do not set horizontalScrollPolicy=”on” or “auto”, because in that case we have to draw all the renderers anyway. In the couple of months that Ultimate has been available, as we expected, people tend to use it to accomplish highly complex visual requirements. One such requirement came up – hundreds of grouped columns. This is the kind of requirement that the chrome recycling is designed to handle. There is no API changes associated with this, just the use of horizontalScrollPolicy. Rest is all under the hood.


Now for some exciting additions:

  • Enhancement (Ultimate): Chrome Level Horizontal Recycling
  • Enhancement (Ultimate): Built in Collapsible/Expandable Column Groups
    • Added the enableExpandCollapse property to FlexDataGridColumnGroup
    • Added the openColumns() and closeColumns() method to FlexDataGridColumnGroup
    • Added the columnGroupRenderer property to FlexDataGridColumnGroup
    • Added the columnGroupClosedIcon and columnGroupOpenIcon style properties
    • Added the expandAllColumnGroups() method to FlexDataGrid
    • Added the collapseAllColumnGroups() method to FlexDataGrid
  • Enhancement (Ultimate): Ability to dynamically set nest depth on basis of the data provider: In case of grouped datagrids, you may have scenarios where the number of inner levels is not known at the outset, it is dynamically calculated at runtime as we navigate through the data provider. See the DynamicLevels example for more details
    •  Added the “enableDynamicLevels” property to FlexDataGrid.
    • Added the “dynamicLevelHasChildrenFunction” which is used to see if a current object has children, for the grid to draw a next level. This is not required property, the default implementation calls the getChildren method to see if next level is necessary.
  • Enhancement (Ultimate): Ability to bubble CheckBox selection: Previously, we had the ability to cascade checkbox selection. So selecting a parent would check all its children. This newly added feature helps you implement selection bubbling. We also added the ability for a tri-state checkbox to be defined at the parent level. See the DynamicLevels example for more details.
    • Added the enableSelectionBubble property to FlexDataGrid.
    • Added the enableTriStatecheckBox property to FlexDataGrid
    • Added the parentField property to FlexDataGridColumnLevel.
  • Enhancement (Ultimate): Recursive selection getter: Previously, each level had its own selectedKeys collection. We have changed this to be “selectedObjects” collection. selectedKeys is now “READONLY”. Each level still has its own selectedKeys and selectedObjects properties, but we have added a new method on the grid, to get all selected records:
    • Added the getSelectedKeys method to FlexDataGrid.


  • Enhancement (Ultimate): Smoother alignment for grouped data. Previously, grouped data appeared jagged if you had vertical gridlines enabled (which are enabled by default). To combat this, we no longer indent the outer cell, instead, enable you to define a property, enableHierarchicalNestIndent, on a column that will indent the text inside it by the value of the hierarchicalNestIndent property at each hierarchical level.
  • Enhancement (Ultimate): Added the ItemFocusIn event.
  • Enhancement (Ultimate):  Made the dataProvider property Bindable.
  • Enhancement (Ultimate):  Added the getContainerForCell method, which returns the container section for a given FlexDataGridCell object.
  • Enhancement (Ultimate):  Better handling of HierarchicalCollectionView dataProvider.
  • Enhancement (Ultimate): Added the “currentCell” property to FlexDataGrid, which tells you which cell object the mouse is currently over.
  • Enhancement (Ultimate): Added the “isEditableFunction” property to FlexDataGridColumn, so you can dynamically instruct the grid to begin the edit on a particular cell.
  • Enhancement (Ultimate): Numerous Performance Enhancements.
  • Bug Fix (Ultimate): Resolved issue with Filter Cells not drawing when horizontal scroll is enabled
  • Bug Fix (Ultimate): Resolved issue with Level Renderers not drawing the first time around.
  • Bug Fix (Ultimate): Resolved issue with persistence setting not being applied



  • Enhancement (Classic):  Consolidated the footer alignment and filter alignment code. Enabled ability to define gridlines at the footer level. Fixed issue with footers being slightly off.
  • Enhancement (Classic):  Added the exportOptionsView property to ExportOptions.
  • Enhancement (Classic):  Added the beforePrint and afterPrint events to EDG and EADG
  • Enhancement (Classic):  The export now will show column group headers.
  • Enhancement (Classic):  Added the persistenceKey property to the Column object. For datagrids where there are multiple columns with the same header text.
  • Bug Fix (Classic): Added a property, borderAdjust to MSCB and CBL, to work around the issue of the right border missing in certain cases.
  • Bug Fix (Classic): Disabled filter controls will no longer participate in filtering.


Newly Added Examples:

  • Added the Styles Demo: To demonstrate how to customize the pager bar, the various columns, embed images and the like
  • Large Dynamic Grid : A Grid with 800X800 columns/rows. Numerous column groups, with ability to expand/collapse all rows/columns.
  • Dynamic Levels: An example that demonstrates:
    • Dynamic Level Creation
    • Selection Bubbling
    • Tri State Checkboxes for parents
    • Use of the getSelectedObjects method.