Flexicious 2.3 Released

clock June 6, 2011 08:32 by author Flexicious

 

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

 

Classic:

  • 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.

 

 

 

 



Flex AdvancedDataGrid vs Ultimate

clock June 6, 2011 07:32 by author Flexicious

Are you frustrated trying to get the AdvancedDataGrid confirm to your UI requirements?? Have you hit a brick wall trying to get renderer providers and summary rows work with grouping collections and column groups? Read on!

Today, if you wish to display hierarchical data in a DataGrid format, there are only two choices. One is the MX Advanced DataGrid, and the other is Flexicious Ultimate DataGrid. The MX Advanced DataGrid has been around for a while, and we extended its capabilities via the Flexicious AdvancedDataGrid.

We introduced Ultimate when we were certain that the things our clients were requesting were simply not possible to accomplish using the SDK base.

For example, navigate to this link and scroll to the last example. This is the MX ADG being used with a renderer provider. Try to expand all items, and scroll. Now contrast with this. Expand a few items, scroll. Basically, you'll simply not be able to achieve this behavior with the ADG because it lacks smooth scrolling.

Another example where Ultimate is the ONLY choice, is where you need nested subgrids. Here is an example: . The ADG also has known limitations with large number of grouped columns, as we to go over here.

There are numerous other things that only Ultimate can do, or do it better, as we've tried to surmise on the features page.

For veteran Flex developers, the AdvancedDataGrid is a little bit of a love hate relationship. See here and here. We had our share of frustration working with it. In its defense, it does many things very well, and in some cases, it's just not the right tool for the job. In most of these cases, Ultimate is the solution.

It's barely been 3 months since Ultimate has been out, and we're already into release 2.3, and we're not looking back. Ultimate IS, by any standard, the MOST feature rich DataGrid component in Flex. Period. A vast number of our clients have already upgraded to Ultimate and are using it in Enterprise Applications. Some have signed on specifically because of the things Ultimate can do. Thousands of developers at hundreds of world class organizations trust Flexicious in their mission critical applications, and we would like you to be among us.