Wijmo Build 5.20193.646 Available

Wijmo Build 5.20193.646 is now available. This build includes some big enhancements to our Vue and React support. We added validation to TransposedGrid and innerText option for creating donut charts and customizable clickAction to DropDown.

[Vue] Added wj-item-template component, which allows you to define items content as a Vue template (with an arbitrary HTML, custom components and bindings), for the item components like wj-list-box, wj-combo-box, wj-multi-select and wj-menu.

[Vue] Added wj-tab-panel/wj-tab components, which allow you to define TabPanel control content declaratively in Vue templates markup.

[React] Added TabPanel/Tab components, representing corresponding pure JS classes.

[React] Added tooltipContent and labelContent properties to all chart components.

[TransposedGrid] Added support for CollectionView.getError in TransposedGrid controls.

[FlexChart] Text at the center of pie/doughnut chart: new properties innerTextinnerTextStyle of FlexPie.

[DropDown] Added DropDown.clickAction property to customize click actions.

Improved saveFile method to handle large (>2M) files.

Improved applyTemplate method to handle templated formats in IE.

Read the full Build 5.20193.646 release

Get Build 5.20193.646 now

Wijmo 2019 v3 is Available

Wijmo's third release of 2019 has landed. Wijmo offers fast and flexible JavaScript UI components for every framework. This major release includes React, Vue, and PureJS FlexGrid Cell Templates, and two-way bindings that simplify the creation of input forms. The new release offers a new API for JS FlexGrid, MultiRow improvements (that allow headers with multiple header rows and define custom layouts) and more.

Let's dive in...

React FlexGrid Cell Templates

One of the most popular features in our Angular FlexGrid is Cell Templates. We now have this powerful feature available in React FlexGrid and Vue FlexGrid.

Cell Templates allow for limitless templates with declarative markup and binding expressions in any cell of the grid.

Wijmo 2019 v3

Cell Templates make customizing any cell in FlexGrid very easy. Here is an example of rendering a flag image in the country column.

<wjGrid.FlexGridColumn header="Country" binding="country" width="*">  
        template=(context) => {  
            return <React.Fragment>  
               <img src={`resources/${context.item.country}.png`} />  
         } />  

As you can see, the fragment in the Cell Template can contain any markup, including HTML, bindings, and even other components.

Vue FlexGrid Cell Templates

Just like in Angular and React, now you can use Cell Templates in our Vue FlexGrid. These Cell Templates allow you to add custom content to any cell in our Vue datagrid.

Here is an example (similar to the React example above) of rendering a flag image in the country column.

<wj-flex-grid-column header="Country" binding="country" width="*">  
    <wj-flex-grid-cell-template cellType="Cell" v-if="customCell" v-slot="cell">    
        <img :src="'resources/' + cell.item.country + '.png'" />                         

Two-way Bindings in Wijmo Vue Components

Two-way bindings are a powerful mechanism that simplifies the creation of input forms. Vue offers two different syntaxes for declaring two-way bindings, the v-model directive, and the sync binding modifier. Wijmo for Vue input components support both of them, so you can choose between them depending on your needs.

You can find examples of Wijmo two-way bound controls in this live sample, where ComboBox and InputNumber are used in the cell edit templates.

PureJS FlexGrid Cell Templates

Not to be confused with our Angular, React or Vue Cell Templates, we added a new API to our pure JS FlexGrid. Our Column class has a new cellTemplate property that allows custom rendering of data cells without using the formatItem event.

Column.cellTemplates are much more simple than our Angular, React or Vue Cell Templates. They only allow for a template literal string to be declared. You can put HTML elements in it or even binding expressions that will be parsed by our glbz method and rendered in the cells.

Here is an example of rendering a flag image in the country column.

<pre>columns: [  
    header: 'Country', binding: 'country', width: '*',  
    cellTemplate: '<img src="resources/${item.country}.png"/> ${text}'  

FlexGrid Multi-Column Sort

The FlexGrid relies on the CollectionView class for sorting data. In previous versions, the grid's allowSorting property was a Boolean that determined whether users could sort columns by clicking on their header cells. This mechanism allowed users to sort on a single column at a time.

In 2019 v3, we changed the allowSorting property to an enumeration with the following values:

  • AllowSorting.None: Users cannot sort the grid by clicking the column headers. This is the same as setting allowSorting to false in previous versions.
  • AllowSorting.SingleColumn: Users may sort the grid by a single column at a time. Clicking the column header sorts the column or flips the sort direction. Ctrl+Click removes the sort. This is the same as setting allowSorting to true in previous versions.
  • AllowSorting.MultiColumn: Users may sort the grid by multiple columns at a time. Clicking the column header sorts the column or flips the sort direction. Ctrl+Click removes the sort for that column. Ctrl+Shift+Click removes all sorts.

When sorting on multiple columns, the grid shows the sort order in the column headers, next to the sort direction glyph:

Wijmo 2019 v3

FlexGrid Pinned Columns

The FlexGrid always supported freezing rows and columns through code but did not expose a UI for controlling this feature.

In 2019 v3, we added an allowPinning property that adds pin glyphs to the column headers. Clicking the pin freezes or un-freezes the column:

Wijmo 2019 v3

The FlexGrid has always supported column-based, Excel-style filtering using the FlexGridFilter component.

In 2019 v3, we added a new wijmo.grid.search module with aFlexGridSearch control that provides a full-text search/filter interface. As users type into the FlexGridSearch control, it filters the items based on the search text and automatically highlights the matches:

As you can see in the image, FlexGridSearch control can be used together with the FlexGridFilter component.

The FlexGridSearch control was inspired by the discussion in the Add a Data Grid Search Panel blog.


In regular grids, each item is represented by a row with columns that represent the item properties.

Wijmo 2019 v3

In transposed grids, each item is represented by a column with rows that represent the item properties.

Wijmo 2019 v3

We have added a new wijmo.grid.transposed module with a TransposedGrid control where data items are shown as columns and their properties as rows. People have used FlexGrid's API to create similar views, but our new TransposedGrid control makes it even easier.

Saving CSV Files

The FlexGrid has always supported saving the grid data to different formats. Saving to CSV is often a good option because you don't need any additional libraries, and the output file can be opened in Excel.

In 2019 v3, we made saving CSV files even easier and more powerful by adding two features:

  1. We added a saveFile method to Wijmo core so you can easily save text files without having to copy the same boilerplate code over and over.
  2. The grid's getClipString method now has an options parameter that allows you to specify exactly how you want the clip string to be generated. The options available are listed below.

With these changes, you can save CSV files using two lines of code:

<pre>// get clip string (current selection, with column headers)  
 const clipString = grid.getClipString(null, options, true, false);  

 // save to a file  
 saveFile(clipString, 'flexgrid.csv');</pre>

These are the options available in the ClipStringOptions enumeration:

  • ClipStringOptions.Default: Use default options (tabs as cell separators, formatted/visible/unquoted cells). This is the format used internally when copying/pasting to the clipboard.
  • ClipStringOptions.CSV: Use commas as cell separators (CSV format). This is the default format used for exporting CSV files.
  • ClipStringOptions.QuoteAll: Quote all cells. Instead of adding quotes only to cells that contain commas and quotes, wrap all cells in quotes. This makes the output file a little easier to parse.
  • ClipStringOptions.SkipMerged: Skip cells that have been merged over (like Excel). This makes the output file a little easier to read in some cases.
  • ClipStringOptions.Unformatted: Export unformatted values. This format retains the full precision of numeric values, as opposed to saving only the formatted values.
  • ClipStringOptions.InvisibleRows: Include invisible and collapsed rows in the output. By default, invisible and collapsed rows are not included.
  • ClipStringOptions.InvisibleColumns: Include invisible columns in the output. By default, invisible columns are not included.
  • ClipStringOptions.InvisibleCells: Include invisible rows and columns in the output.

More FlexGrid Enhancements

  • Collapsible Column Groups:
    Added the ability to create collapsible column groups declaratively. This is done by setting the columns property (or the columnGroups property) to an array containing column definitions where the definitions contain a 'columns' collection of child columns.

  • Added a defaultTypeWidth static property that allows specifying the default width for auto-generated grid columns based on their data types.

  • Improved Clipboard Support: Added a copyHeaders property that allows you to specify whether the grid should include row and/or column headers when copying data to the clipboard.

  • RowDetail Frozen Cell Support: Allow detail cells to span across frozen boundaries

MultiRow Enhancements

  • MultiRow Aggregated Groups: Added a multiRowGroupHeaders property that allows headers with multiple header rows (especially useful for displaying aggregates)

  • MultiRow Column Header Layouts: Added a headerLayoutDefinition property that allows you to define custom layouts for the column headers

StepLine Chart

StepLine Charts are most commonly used to visualize change at specific points in time. They are useful for seeing the size of the change in value as well as patterns in change over time. We recently added new Step, StepSymbols and StepArea chart types to our FlexChart control.

[Step Type Chart

StepLine Chart Samples - JavaScript, Angular, React, and Vue:

CollectionView Filters

Added a filters property that contains an array of filter functions. This allows you to chain filters with multiple, independent filter functions.

Improved Typings

We made some big improvements to our type information in Wijmo. These changes will make Wijmo easier to use and it will help you find bugs in your code much more easily.

Here you can see better type information in callback params (which previously was just the generic Any type).

Wijmo 2019 v3

Other changes we made in this release:

  • Added type information to several callbacks and properties that used to be of type 'any'.
  • Added generic types to the sender and arguments of the Event class.

  • Added a generic type to the CollectionView and ObservableArray classes, so you can write:
    var cv = new CollectionView(data);
    var customer = cv.currentItem; // customer is an instance of Customer

  • The additional type information provides improved compile-time error-checking and IntelliSense,
    so you can write better code faster.

Read more about our improved typings

Wijmo Build 5.20192.631 is Available

Build 5.20192.631 has landed. This release includes a several bug fixes and a new StepLine Chart type.

Read the full Build 5.20192.631 release

Wijmo 2019 v2

Wijmo's second release of 2019 has landed with several new enhancements, including increased support and functionality for React and Vue Interop.

Get Wijmo 2019 v2 now

React Improvements

React has exploded in popularity and we have been working to make our React support even deeper. This release features a few nice ways to define custom templates, including bindings in markup to all controls that have Items.

We added MenuItem and MenuSeparator components

React Menu

React MenuItem Sample | Read More About React Menus and List Items

We also added a new wjItemTemplate 'render prop' to these controls:

Up next is rich cell template support in our React FlexGrid interop.

Vue Improvements

Similar to React, we made some nice improvements in our Vue interop. We added wj-menu-item and wj-menu-separator components to our Vue menu component.

Vue wj-menu-item Sample | Read More About Vue Improvements

More Gauge Customization

A few customers have asked for more details to be added to our gauges, so we added a couple new properties to help.

We added a Gauge.showTickText property to show text labels next to each tickmark

Gauge Customization

Gauge Tick Mark Labels Sample

We also added support for needle-based pointers with the new RadialGauge properties and methods:

  • needleShape
  • needleLength
  • needleElement
  • createNeedleElement

RadialGauge Needle Pointer Sample

Template Literal Function

We added a new i18n template literal function to Wijmo. It allows you to build multiline strings with interpolated values, and makes it easy to handle single and double quotes embedded in your strings.

glbz Sample | Read More About Template Literal Functions

Undo Redo in Applications

Almost every application can benefit from being able to undo and redo recent actions. We often have customers that want this built into FlexGrid. We did even better and made a nice Undo/Redo class for managing history of actions at the application level. Of course, you can use it just with FlexGrid if you prefer. But we recommend trying it out for your entire app!

UndoStack Sample | Read More About Undo Redo in Applications

Paging for Data

We added a New CollectionViewNavigator control for navigating through CollectionView items or pages. This is a really common UI. It can easily be used with any of our controls like FlexGrid to offer simple paging through data.

Paging for Data

CollectionViewNavigator Sample

FlexGrid MultiRange Selection

A few customers have asked for Excel-like multirange selection for FlexGrid. We added a new SelectionMode called MultiRange to support this behavior. This allows users to hold down ctrl (or command) + select multiple ranges of cells in FlexGrid. You can use the new we added a new selectedRanges property, which gets an array containing CellRange objects that contain the currently selected ranges.

FlexGrid MultiRange Selection

FlexGrid MultiRange Selection Sample | Read More About the MultiRange Selection

FlexGrid Performance Tuning APIs

We added some new APIs for when you want to tune performance for more rare scenarios. Most people will not need to use them, but we exposed them for the few who do. Make sure to read the documentation carefully for each when using them.

  • new FlexGrid.refreshRange method
  • FlexGrid.lazyRender property
  • FlexGrid.refreshOnEdit property

More Cultures Added to Wijmo Globalization

We are always expanding our globalization to help customers build better applications. This release features support for:

  • Mongolian
  • Vietnamese
  • Swiss German

Of course there are many little things we fixed or enhanced in the release like Resizable Popup or deep-binding in wijmo.format. Check the change log for the full list!

Change Log
  • Added a FlexGrid.autoRowHeights property to automatically resize row heights when cells are loaded, edited, and when the grid layout changes.
  • Added FlexGrid.lazyRender and refreshOnEdit properties for more performance control.
  • Added a new FlexGrid selection mode: SelectionMode.MultiRange and a FlexGrid.selectedRanges property that provides access to the extended selection.
  • Added CollectionViewNavigator control for navigating through CollectionView items or pages.
  • Added "glbz" tag function to support formatting in template literals.
  • Added support for deep-binding in wijmo.format method.
  • Added a Popup.isResizable property to create resizable dialogs.
  • Added a Gauge.showTickText property to show text labels next to each tickmark.
  • Added support for needle-based pointers with the new RadialGauge properties and methods: needleShape, needleLength, needleElement, createNeedleElement.
  • [React] Added MenuItem and MenuSeparator components, which allows you to define Menu component items declaratively. All the relevant samples have been updated to define menus declaratively. The new 'Input\Menu\Dynamic Items' sample has been added.
  • [React] Added wjItemTemplate 'render prop' to the ListBox, ComboBox, MultiSelect and Menu components. The property allows you to specify a render function used to draw custom items content. The property usage is demonstrated in the following samples:
    • Input\ListBox\Customization
    • Input\ComboBox\HTMLContent
    • Input\ComboBox\Multi-column
    • Input\MultiSelect\Customization
    • Input\Menu\Dynamic Items
  • [Vue] Added wj-menu-item and wj-menu-separator components, which allows you to define wj-menu component items declaratively. All the relevant samples have been updated to define menus declaratively. The new 'Input\Menu\Dynamic Items' sample has been added.
  • Added Swiss-German culture file: wijmo.culture.de-CH.ts. With the recent addition of Vietnamese and Mongolian cultures (wijmo.culture.vi.ts and wijmo.culture.mn-MN.ts) this brings the total number of cultures supported to 50.
  • Added FlexSheet.allowAutoFill property. (TFS 377969)
  • [FlexChart] Added Legend.orientation property. (TFS 379230)

Wijmo 2019 v1

Wijmo’s first major release of 2019 has landed, and it includes brand new developer resources, nice customer-requested features, improved components using a new browser API, and more.

Wijmo Build 5.20191.615 Available

Build 5.20191.615 has released. It includes Angular 8 support, some nice new enhancements and several bug fixes. It also includes a fix for AOT compiling in Angular.

Read the full Build 5.20191.615 release

Change Log

  • Added support for deep-binding in wijmo.format method.
  • Added FlexChart.itemsSourceChanging/Changed events.
  • Added FlexGrid.refreshRange method for finer control on rendering.
  • [Build 606] This is identical to (the previously released) build 603, other than a fix to our angular module structure to solve a problem in the AOT compiler.
  • [FlexGrid] Added a FlexGrid.errorTip property that allows you to specify a Tooltip to use when showing validation errors. Use this property to customize the tooltip, or set it to null to restore the original behavior (use the cell's "title" attribute to show validation errors)
  • [FlexGrid] Added an extra parameter to the FlexGrid.getClipString method so it can export row headers (in addition to column headers). This new feature is important for exporting the content of PivotGrid controls for example.
  • [FlexGrid] Added a FlexGrid.alternatingRowStep property that allows you to specify the number of regular rows that should appear between alternating rows (the default is one; set this property to zero to disable alternating rows or set it to a value greater than one to show multiple regular rows between alternate rows). Note: The alternatingRowStep property replaces/extends the showAlternatingRows property which has been deprecated.
  • [GroupPanel] Added a GroupPanel.showDragGlyphs property that causes the control to show drag handle glyphs in the group marker elements.
  • [PivotGrid] Added a PivotGrid.outlineMode property that causes the PivotGrid to show row groups in outline format, allowing for more compact displays.
  • [PivotGrid] Improved keyboard support in the PivotGrid to allow expanding and collapsing row groups with the keyboard (use alt-Left to collapse, alt-Right to expand).
  • [PivotGrid] Changed the olap.PivotGrid to honor the allowMerging property. Also changed the default setting of the property to 'AllHeaders'.
  • [PivotGrid] Added a PivotGrid.showValueFieldHeaders property that causes the grid to show headers for value fields even in views that have a single value field.
  • [MultiRow] Added support for the MultiRow.newRowAtTop property (in previous versions the new row template was always displayed at the bottom of the MultiRow.
  • [MultiRow] Added support for explicitly setting the rowspan in MultiRow cells.
  • [FlexChart] Added a Series.tooltipContent property that allows you to add tooltips for specific series.
  • [FlexChart] Added a Series.itemFormatter property that allows to specify an item formatter function for specific series.
  • [FlexChart] Added support for ranged Area charts: this is similar to the support for ranged Bar and Column charts: specify the name of the properties that contain the min and max values in the series binding, e.g. myAreaSeries.binding = "ymin,ymax". Read the blog
  • [TreeView] Added a TreeView.expandOnLoad property that determines whether the TreeView should automatically expand the first node when it loads (default behavior) or if all nodes should be initially collapsed.
  • [TreeView] Added a TreeView.checkOnClick property that allows users to check nodes by clicking anywhere on the node header (as opposed to clicking on the checkbox itself).
  • [TreeView] Added a TreeView.checkedMemberPath property that allows you to bind the checkboxes in the TreeView to data members.
  • [Menu] Added a Menu.closeOnLeave property to work with Menu.openOnHover and provide more control over when menus open and close.
  • [PrintDocument] Added an optional callback to the PrintDocument.print method gets invoked when the document is done printing
  • Added combobox.trimText property
  • Improved the FlexGrid mouse handling logic to prevent sorting columns when clicking column headers that are merged horizontally (because in this case the header refers to multiple columns).
  • Changed the FlexGrid's CSS to use weaker rules for cell styles so they are easier to override.
  • Improved FlexGrid rendering performance by reordering cells when scrolling horizontally.
  • Improved the FlexGridFilter's date/time condition filtering logic.
  • Improved the FlexGridFilter's condition editor by disabling the value editors when no condition is set. You can also hide the value editors using this CSS rule:
 .wj-conditionfilter-editor .wj-control.wj-state-disabled {  
    display: none;  

Explore Controls & Features in Every Framework!

Explore Controls & Features in Every Framework

We have consolidated all of our (500) samples into one place. And each sample is available in the following frameworks:

  • Pure JavaScript, using ES6 modules (no framework)
  • Angular (v2+)
  • Vue (v2+)
  • React

Explore our new demos

New with Wijmo 2019 v1:

Get Wijmo 2019 v1 now

Wijmo Build 5.20183.568 Available

Build 5.20183.568 is now available. It includes some new features and a plenty of bug fixes.

Change Log

  • Added two new LearnWijmo fiddles that highlight the FlexGrid’s basic and advanced features: Basic features | Advanced features
  • Added a cssClassAll property to the FlexGrid's Row and Column classes so you can add CSS classes to header cells as well as to data cells.
  • Added two new settings to the wijmo.olap.ShowAs enumeration: PctPrevRow and PctPrevCol cause the engine to show values for each item as a percentage of the value in the previous row or column. OLAP ShowAs sample
  • Added two extra parameters to the FlexGrid.getClipString method so it can be used to export to CSV (instead of tab-delimited text) and to optionally include column headers. CSV Export sample
  • Added a Tooltip.cssClass property to allow different types of tooltips to use different styles (e.g. information, validation, etc)
  • Improved the ComboBox.selectedValue property to get or set the control's text when it has no itemsSource. This makes it easier to use the ComboBox as a replacement for regular input elements (and leverage wijmo's infrastructure including styling).
  • Added a new "exclusiveValueSearch" property to the PivotEngine and FlexGridFilter classes. This new property is set to true by default, which enables an Excel-like behavior (searching excludes items from the filter). Set it to false to disable this, so searching only affects which items are displayed on the list, and not which items are included in the filter.
  • [AngularJS] Added auto-size-rows boolean property to the wj-flex-grid-cell-template directive, which is being set to false disables the default behavior where the cell template increases grid's default row height to accommodate cells content.
  • Improved the FlexGrid IME handling to start editing on Unicode spaces as well as regular spaces.
  • [WebComponents] Added Beta version of the WebComponents interop (wijmo.webcomponents.568.js modules). The Samples\TS\WebComponents\WebComponentsIntro sample explains the status and usage of the interop. WebComponentsIntro sample | Read the guide to web components

New Samples

Get Build 5.20183.568 now

Wijmo Build 5.20183.550 Available

Web Workers in PDF Export

Faster PDF Export with Web Workers

PDF export can often slow down web apps: since the export is happening in the browser’s UI thread, it can cause the rest of the application to be unusable. This is where Web Workers comes to the rescue. We used Web Workers to process the exporting of PDF files on a separate thread from the application UI. This allows the applications to stay usable and the PDF export to churn along in the “background”.

This feature is now available in our PDF module. Read the Web Workers blog

Group Headers in ComboBox/ListBox

We've added a showGroups property that you can use to add group headers to ListBox and ComboBox controls. Group header items are added if the showGroups property is set to true and the itemsSource collection has grouping enabled.

Grouping in ComboBox

Try the fiddle

Ribbon Sample using TabPanel

We’ve added a ribbon sample that shows how you can create ribbons easily using the TabPanel control and the controls in Wijmo's input module.

The ribbon element is a TabPanel. The tab pages contain groups of controls arranged in rows and columns. Controls in the groups use Material Icons, and have tooltips created automatically based on the aria-label attribute assigned to each control.

Ribbon sample

Try the fiddle | Read the blog

Slicer for OLAP

We have added a Slicer control to our OLAP module. The Slicer control provides a quick way to edit filters applied to PivotField objects.

It provides buttons the user can click to filter data based on values and indicates the current filtering state, which makes it easy to understand what is shown in filtered PivotGrid and PivotChart controls.

OLAP Slicer

Try the fiddle

Detail Dialog API in OLAP

The Wijmo PivotGrid allows you to drill down into cells to see the data items that were used to calculate each summary. Users can invoke the detail dialog by double-clicking any value cell. You can also invoke the detail dialog by calling the grid's showDetail method and passing the coordinates of the cell.

Now, the grid exposes the detail dialog through its detailDialog property, which can be used to customize the dialog:

Detail Dialog

Try the fiddle

Calculated Fields in OLAP

We also added a PivotField.getValue property to OLAP that allows you to specify a custom function to be used for retrieving the field value for a given item. You can use this to implement calculated fields such as 'binning' (e.g. Value => large/medium/small) or calculated expressions (e.g Conversion => downloads/sales).

Try the fiddle

Year Picker in Calendar

We added a small but useful feature in our Calendar and InputDate controls. You can now click on the year header to open a year picker that allows you to much more easily jump to different years. This little enhancement should save your end users some time when selecting dates.

Year picker in JavaScript calendar

We got this request from a customer and thought it was a great idea. Our Menu control now supports adding multiple submenus to it so that you can create more complex menus and context menus. We also added an option to open menus on hover.

Submenu in JavaScript menu

Try the fiddle

Looking for Angular 7 Support?

We're very excited about Angular 7, and as you know, Wijmo has first-class Angular support. We're happy to announce that Wijmo supports Angular 7, so you can use the current version of Wijmo to build Angular 7 applications today. Read the Angular 7 blog.

New Samples


  • Added support for FlexGrid pdf export using Web Workers. See the PdfWebWorkersClient and PdfWeb Workers for the details. The AngularJS PdfExport sample has added Web Workers example to demonstrate the feature. Read the blog.
  • Wijmo fully supports Angular 7. Read the blog.
  • [WebComponents] Added Beta version of the WebComponents interop (wijmo.webcomponents.568.js modules). The Samples\TS\WebComponents\WebComponentsIntro sample explains the status and usage of the interop. WebComponentsIntro sample | Read the WebComponents blog post
  • [npm] Wijmo is published to the global npm registry as the 'wijmo' package. | Read the NPM blog
  • Added a GroupPanel.filter property that allows you to specify the FlexGridFilter being used on the grid. Once you do that, the group panel will show filter glyphs on the group headers. Clicking the filter glyphs opens the filter editor for the corresponding column.
  • Added a PivotGrid.detailDialog property that returns a reference to the grid's DetailDialog control used to display detail records when the user double-clicks a cell.
  • Added a repeatButtons property to the Calendar and InputDate controls that causes the calendar buttons to fire repeatedly while the button is pressed. (This is similar to the InputNumber.repeatButtons property).
  • Added a showYearPicker property to the Calendar and InputDate controls that causes the calendar to show a list of years when the user clicks the year calendar header.
  • Added a PivotField.getValue property that allows you to specify a custom function to be used for retrieving the field value for a given item. This can be used to implement calculated fields which can be used for 'binning' (e.g. Value=> large/medium/small, Country=> A/B/C/Other) or any calculated expression (e.g Conversion=> sales/downloads).
  • Added a showGroups property to the ListBox and ComboBox controls. This adds group header elements to lists with grouped item sources. For example: https://jsfiddle.net/Wijmo5/sy7u9rn6/ (It is analogous to the showGroups property in the FlexGrid control).
  • Optimized ListBox loading performance (especially in IE/Edge).
  • [FlexSheet] Added option to let user disable dragging cell ranges. Added 'enableDragDrop' property to FlexSheet. (TFS 342191)
  • [FlexSheet] Disable formulas in FlexSheet. Add 'enableFormulas' property in FlexSheet. (TFS 341806)
  • Added a new wijmo.olap.Slicer control that provides easy value-based filtering. This is similar to the Slicer control in Excel's PivotTables. For example: https://jsfiddle.net/Wijmo5/3p8rcuqe/
  • Added a new wijmo.olap.PivotField.visible property that allows developers to hide certain fields so they do not appear in PivotPanel controls (and therefore cannot be removed from or moved within the view definition).
  • [Enhancement][FlexSheet] Click and Drag Cell Corner to Fill Data. (TFS 229151)
  • Expanded the documentation to include missing default values for several properties on several controls.
  • [Enhancement] [FlexSheet] Support for INDIRECT and ADDRESS formulas. (TFS 337828)

See Wijmo release history