The ComponentOne 2020 v3 release includes many big changes, including the official release of our .NET 5 desktop controls for WPF and WinForms editions. With .NET 5 being the future, ComponentOne has put in a lot of hard work to bring controls to the new framework.
Among the many ComponentOne controls that are now .NET 5 compatible, the 2020 v3 release introduces a new FlexPivot control for WPF .NET 5. The new control is a renamed and re-engineered version of the existing C1Olap control.
Introducing FlexPivot for WPF
FlexPivot is a powerful analysis tool and, similar to Excel pivot tables, presents a specific view of data based on the fields selected in the pivot table's field list.
As a UI-based control, FlexPivot is designed to analyze a large amount of information and display it in a cross-tabulated form. With FlexPivot, you can process and aggregate millions of rows of data in milliseconds and pull multiple data sources into a single and multi-dimensional pivot table.
The image shows easy-to-use FlexPivot control presenting Sales data in tabular format.
As the new FlexPivot emerges out of C1Olap, let’s see the differences between the two analysis components.
New FlexPivot vs. Old C1Olap
Starting with the 2020 v3 release, the new FlexPivot replaces C1Olap as the flagship analysis control. As mentioned earlier, FlexPivot is renamed and re-engineered from our older C1Olap control; hence, both consist of three major components: pivot panel, pivot chart, and pivot grid.
Though both extend from FlexGrid, the industry’s most flexible data grid, FlexPivot uses FlexChart, ComponentOne's flagship control for charting needs, instead of the old C1Chart used in C1Olap. Also, to improve processing performance, instead of the internal OLAP engine used in C1Olap, the new control uses C1DataEngine.
To ensure easy migration, the new FlexPivot has a similar API to the old C1Olap, with some obvious differences between control names and namespaces/libraries. For example:
C1.WPF.Olap → C1.WPF.Pivot
C1.WPF.Olap.C1OlapPage → C1.WPF.Pivot.FlexPivotPage
C1.WPF.Olap.C1OlapGrid → C1.WPF.Pivot.FlexPivotGrid
C1.WPF.Olap.C1OlapChart → C1.WPF.Pivot.FlexPivotChart
C1.WPF.Olap.C1OlapPanel → C1.WPF.Pivot.FlexPivotPanel
C1.Olap.C1OlapEngine → C1.FlexPivot.C1FlexPivotEngine
Now that we know the differences between the new FlexPivot and the old C1Olap, let’s see the major features of the new FlexPivot control.
Key Features of FlexPivot WPF
The new FlexPivot provides numerous built-in and customizable features that enable you to perform various data analysis tasks. Below is a list of essential features offered by the FlexPivot:
Modern-Style Data Visualization
FlexPivot enables visualizing data through different analysis views: Data view and Chart view. Selecting the chart view, the pivot data is displayed in chart format. For offering charting functionalities, FlexPivot uses the latest chart control, FlexChart.
FlexChart is ComponentOne's .NET flagship charting component (since 2016) with a modern look, and it's faster than the legacy C1Chart control. Additionally, using FlexChart as a charting component provides the following advantages:
- Support for DirectX rendering for better performance.
- Support for 80+ chart types.
- Support for composite charts, multiple secondary axes, legend toggle, among many other features.
The image showcases the chart-view in FlexPivot, representing Sales by Country and Salesperson data.
Like with C1Olap, the charts can be modified by the user through the pivot page chart menu, or the developer may create a custom UI using the separate C1FlexPivotChart control.
Faster Processing Performance
FlexPivot is built on a super-charged data engine, C1DataEngine, making it lightweight, faster, and enabling better performance in processing large data sources.
Using C1DataEngine offers high-speed processing of extensive datasets that makes it possible to reach a high performance of up to hundreds of millions of records in a fraction of a second. The engine also supports query operations such as Aggregation, Joins, Grouping, Filter, Unary/Binary operations, etc.
But for you, the developer, there's no extra work needed to take advantage of C1DataEngine in FlexPivot.
Support for .NET 5
Microsoft announced that post the current .NET Core v3.1, .NET 5 will be the only .NET platform meant for new applications to go forward.
Being an industry leader in providing developer-friendly components, ComponentOne is constantly working on building components compatible with .NET 5, the future of .NET. Introducing the new FlexPivot is yet another step in the same direction.
The new FlexPivot is fully compatible with .NET 5 and can be used with no problem if you migrate your application to the latest .NET framework or start a new application in .NET 5.
Using the new FlexPivot control, you can analyze multiple fields in a single view. To enable this, the C1FlexPivotFieldList class has a new MaxItems property. Setting this property determines how many fields are allowed in each field list (Rows, Columns, Filters, and Values). If the MaxItems property is set to a value higher than one, users will be able to add multiple fields to the values list, and the analysis will be performed on all of them at once.
The image shows FlexPivot analyzing multiple fields in one view.
You can also use the MaxItems property on the Rows, Columns, and Filters lists, if you want to limit the number of fields users can add to those lists.
Customizing Grid Appearance
FlexPivot derives from FlexGrid, enabling users to apply conditional formatting to an individual cell or a range of cells. This lets the users visualize data more clearly for analysis and comparison by highlighting cells with a certain color, depending upon the cell's value. The FlexPivot exposes this functionality by using the standard CustomCellFactory mechanism to apply styles to cells.
This sample view is part of the new product sample 'FlexPivotExplorer' that comes installed with ComponentOne Enterprise/WPF and can be found at '\Documents\ComponentOne Samples\WPF.Net 5\CS\Pivot' location.
The image shows a grid where values greater than 500 appear with a light green background.
Limitations in FlexPivot for WPF
If you’re coming from C1Olap, you might observe that a few following features are missing in FlexPivot for WPF.
FlexPivot for WPF uses .NET Standard C1 DataEngine, which does not support Cube yet, so currently, there is no support for Key Performance Indicators (KPI). Similarly, RangeGroup is also not supported as of now. These features will be supported in a future version.
Help: FlexGrid for WPF