Fast and Lightweight
- We build small: our most popular control, FlexGrid, has a base size of 113 KB.
- Wijmo’s controls are lightning-fast. Try the benchmark demo.
Flexible and Extensible
- Our easy-to-read, flexible API has a low learning curve and allows you to extend controls to meet your needs.
- Controls are designed to have a simple core with as many extensibility points as possible. FlexGrid’s core has all the standard features of a data grid, but complex filtering, grouping, and more, are available as extensions.
Controls: What’s Included in Wijmo 5
- FlexChart Extensions
- Chart Gestures
- Export to Image
First-Class Framework Support
AngularJS and Angular 2
Wijmo’s Explorer fully supports Angular 2. In addition, we ship and maintain AngularJS directives for all of our controls and use it in most of our samples.
More Interop Options
We’re always thinking about new directions for Wijmo.
VueJS: How to Create Great VueJS Applications Using Wijmo Controls
KnockoutJS: Read about our Knockout support
What you’ll get with TypeScript:
Additional Benefits of Wijmo 5:
- ICollectionView provides a familiar experience for .NET developers migrating to HTML5
- All Wijmo 5 controls can be bound to CollectionView
Browse, search, view source code and run all of our samples using the Wijmo 5 Sample Explorer.
Wijmo 5 Control Explorer
Shows how to use all the controls in Wijmo 5, as well as the infrastructure shared by all the controls.
Perform common tasks with FlexGrid, our fast and flexible data-bound grid control.
Perform common tasks with FlexChart, our beautiful and easy-to-use chart control.
Get started with LinearGauge and RadialGauge, our smart and flexible gauge controls.
What Our Customers Say
— Aaron Mendez, Manager of User Experience, Thomson Reuters
— BJ Jeong, Cisco
- Angular 2: Wijmo interop adapted to RC.6, and can still work with RC.5. Angular 2 Info
- Angular 2: all samples ported to RC.6 Angular 2 Explorer
- Angular 2: added support for NgModule system introduced in RC.5. Each Wijmo Ng2 module includes corresponding NgModule that represents the module in Ng2 application and exports all its components. NgModule’s name is inferred from ES6 module name, e.g. for ES6 module wijmo/wijmo.angular2.grid.filter the name of corresponding NgModule is WjGridFilterModule. Only few samples are reworked so far to use NgModel: InputIntro, FlexGridIntro, ngForms and FlexSheetExplorer. The latter is SPA application that implements lazy modules loading.
- ReactJS: Added a new interop module for React: wijmo.react.js. ReactJS Interop sample | How to Use Wijmo in ReactJS Apps blog
- VueJS: Added a new interop module for Vue: wijmo.vue.js. VueJS Interop sample | How to Create Great VueJS applications Using Wijmo Controls blog
- Completely redesigned help system. new Wijmo 5 Documentation
- Added support for column footers panel on the FlexGrid. Column footers have their own ‘columnFooters’ grid panel (similar to columnHeaders and rowHeaders). To add column footers to a grid, add one or more rows to its columnFooters panel. For example: grid.columnFooters.rows.push(new wijmo.grid.GroupRow()) In this example, we added a GroupRow, which will cause the grid to automatically display the aggregates set in each Column. Alternatively, you could add on or more regular rows, and set the cell contents of those row using the columnFooters.setCellData method: grid.columnFooters.rows.push(new wijmo.grid.Row()); grid.columnFooters.setCellData(0, 0, ‘column footer value’); FlexGrid Custom Footers sample
- Added a new charting control: FlexRadar for creating radar and polar charts. The control is in new module: wijmo.chart.radar.js. FlexRadarIntro samples (PureJs, Angular 1/2) are added to demonstrate the new control’s features. FlexRadar Intro sample
- Added a new funnel chart type. Added funnel chart sample to FlexChartIntro sample. FlexChart Intro sample
- Added a new FlexGrid.newRowAtTop property to control whether the new row template should be displayed at the top or at the bottom of the data rows.
- Improved FlexGrid scrolling with frozen cells (used to be a little jerky in IE).
- Angular 2: added the autoSizeRows boolean property to the wjFlexGridCellTemplate directive that allows to disable automatic row height expansion.
- Angular 1/2: added support for cell templates for FlexGrid column footers. WjFlexGridCellTemplate.cellType property now accepts ‘ColumnFooter’ and ‘BottomLeft’ to be applied to the corresponding cell types. In order to get a cell value in ‘ColumnFooter’ cell templates the $value (Angular 1) or cell.value (Angular 2) properties can be used.
- Improved performance of Row/Col.IsSelected method.
- Improved performance of FlexGrid.preserveOutlineState property.
- Improved keyboard support in wijmo.Menu. Now users can use the keyboard to open the menu with (Enter/f4/alt+up/alt+down) and to navigate the options (up/down/ autosearch).
- Added a Gauge.showTicks property that causes linear and radial gauges to show tick marks on the gauge face. The tick marks start from “min” to “max” at every “step”. By default, the tick marks are white and 2 pixels in thickness. They can be styled using a “.wj-gauge .wj-ticks” CSS selector to customize their “stroke” and “stroke-width” values.
- Added an optional ‘dataItem’ parameter to the DataMap.getDisplayValues method. The dataItem can be used to restrict the list of display values based on properties of the data item being rendered/edited (see http://wijmo.com/topic/flexgrid-datamap-that-is-row-dependent/).
- Added support for “deep-binding” to the ListBox control (e.g. “customer.name”).