Skip to main content Skip to footer

What's New in ComponentOne 2022 v2

We’re pleased to announce that the ComponentOne 2022 v2 release is now live! This update includes .NET Framework 4.8-based WinForms controls, extended .NET 6 support for more WPF and WinForms controls, Windows 11 and Azure Pipelines support, and more. Read about it below!

Ready to Use the Newest Features of the ComponentOne 2022 v2 Release? Download it today!


.NET 6 Accordion (beta), List and Sizer Controls

We have added a new Accordion control for .NET 6 WinForms applications. The Accordion control is a compact interface to help expand and collapse a specific view from a stacked list of views. You can style the panes or customize the header for a modern look and feel. This control fills the gap created by .NET 4.5.2 NavBar and OutBar controls which were not ported to .NET 6.

We have also migrated C1List, C1 Combo, C1Sizer, and C1SizerLight controls to .NET 6. You can now easily migrate more applications to .NET 6.

Winforms Accordion

.NET Framework 4.8 Controls

Since Microsoft has discontinued support for .NET Framework 4.5.2, we now have a new .NET Framework 4.8 version of every ComponentOne WinForms control. You can access the 4.8 libraries from or installed from the C1ControlPanel. Applications targeting .NET 4.6.2 or 4.7.1 can continue using our .NET 4.5.2 controls. We will keep adding new features and controls to both .NET 4.5.2 and 4.8 versions for the foreseeable future.

Control Panel

FlexGrid Multi-Range Selection

FlexGrid now supports multiple range selections, allowing users to select multiple ranges by ctrl-clicking and dragging on the grid. Set the SelectionMode property to MultiRange to enable this feature. Like Excel, export and clipboard operations only work for multi-range selections if all selected ranges refer to the same column range or the same row range.

MultiRange Selection

FlexChart Ribbon Toolbar

FlexChart for WinForms now has a ribbon-based toolbar in addition to the classic toolbar already available. The toolbar lets end-users customize the chart at runtime. The new ribbon UI gives you the option to visualize the toolbar with the latest Microsoft Office 365-based UI. This toolbar can be set at design time using the context menu.

FlexChart Ribbon

Autogenerate TreeView from DataSet

When working with a DataSet containing related tables, the C1TreeView control can now automatically generate KeyField and ParentKeyField properties from relations in the DataSet. This helps with hierarchical displays of the tables by setting the datasource and DataMemberPath properties.

TreeView Dataset

FlexReport Designer ServiceNow Provider Integration

You can now create reports directly from ServiceNow entities using the ComponentOne FlexReport Designer. The provider is available when selecting your datasource in the report wizard. To connect to your ServiceNow instance, provide the OAuth details in the connection string. You can build the connection string using the property window.


Ribbon Gallery Resizing

You can now set the MinVisibleItems property of the ComponentOne Ribbon gallery (RibbonGallery) to specify the minimum number of items visible when the ribbon is resized.

Resize Gallery


Display up to a Billion Rows in FlexGrid

For our .NET 6 WPF FlexGrid, we’ve continued to push the performance limitations by implementing new techniques and overcoming every tiny bottleneck. When working with large data sets, there are two important considerations: the memory footprint and the scrolling performance. A dataset with one billion records could take up to 8 GB of memory, so it requires a data virtualization solution, such as ComponentOne DataCollection. See more details on how we improved DataCollection and how to implement a solution for very large data sets here.

Skeleton Loading in FlexGrid

We’ve also improved the FlexGrid UI to handle the scrolling performance for any number of rows. We optimized the cell rendering to overcome large offset issues present in WPF for displaying and arranging elements with large numbers.

To aid in loading large, virtual data sets, we’ve introduced Skeleton Loading in our .NET 6 WPF FlexGrid. This is a common technique to show placeholders before the data is loaded on demand.

Flexgrid Virtual Mode

System Theme for .NET 6

Our new WPF “System” theme uses system colors and other specific design elements so that you can deliver applications that adapt to your users' preferences. It supports sharp corners on Windows 10 or rounded corners on Windows 11, a new look for checkboxes on Windows 11, and other system colors used by the end, such as high contrast.

System Themes

MultiMonth Calendar for .NET 6

Our WPF Calendar control gains support for displaying multiple months in a single view. This is useful for selecting date ranges that span more than one month.

MultiMonth Calendar

GanttView for .NET 6

Our WPF GanttView control has been ported to .NET 6, allowing developers to deliver Microsoft Project-like scheduling functionality in their desktop applications.


FlexGrid Column and Selection Menus

FlexGrid for Blazor now has built-in column menus to sort, filter, group, and resize columns. Users can invoke the menu by clicking on the ellipses button beside the column name.

Column Menu

When users select any row\column on the grid, they can open a selection menu using the context menu. The selection menu provides clipboard operations such as cut, copy and paste.

Selection Menu

FlexChart Export to Image

FlexChart for Blazor can be exported to an image in PNG, JPG, or SVG format using the SaveImage method. The SaveImage method takes a parameter for ImageFormat where the image type can be specified.

Flexchart Export


FlexSheet HTML and Precision Support

FlexSheet now supports saving the Excel files with HTML entities. At client side, the convertHtmlEntities property defines the conversion behavior for HTML entities such as """, "<", ">" and "&" when exporting. The default value is Auto.


Also, the CalculationPrecision property gets or sets the number of digits after the decimal point for rounding when calculating FlexSheet formulas.

FlexGrid Excel RTL Export

FlexGrid for ASP.NET MVC supports export to XLSX with Right-To-Left content. HTML accommodates RTL with the 'dir' attribute. Setting 'dir' to 'rtl' or 'ltr' on any element causes the element's content to flow from right to left or vice versa. The exported file content will change direction based on the FlexGrid control dir attribute.


Data Services

JSON Provider Data Streaming

Connect to large JSON datasets using our JSON DataConnector for ADO.NET without impacting memory. The provider now streams JSON data with a document data model instead of loading everything to memory. This greatly improves the performance when working with large datasets. For example, you can use our CursorCollectionView (part of C1DataCollection) and the JSON DataConnector to bind a large JSON dataset to FlexGrid to stream and display millions of records immediately.

DataCollection Real-time data updates

Get real-time data updates to your data-aware controls using the ComponentOne DataCollection library. The C1DataCollection now comes with a client-side C1ProxyDataCollection and server-side C1DataCollectionHub libraries that use Signalr to communicate. The server-side C1DataCollectionHub serves data and notifies the client C1ProxyDataCollection for real-time updates. This feature can be integrated in Blazor, WinForms, or XAML platforms.

Azure Pipelines Licensing Support

Azure Pipelines automatically build and test code projects to make them available to others. Like any machine, the Azure Pipeline must be licensed to use ComponentOne controls. But unlike standard licensing, the pipeline license needs to be activated and deactivated for each build. This can cause problems using standard licensing, so we have introduced a new type of license that supports Azure Pipelines more easily. You can learn more in our documentation or by contacting our sales team.

Ready to Use the Newest Features of the ComponentOne 2022 v2 Release? Download it today!


comments powered by Disqus