What's New ComponentOne 2020 v2
The release of ComponentOne 2020 v2 is here! Our development team has been hard at work, bringing our .NET UI controls to the next level.
This release is packed with many big changes including the first look at our .NET 5 controls, .NET Core 3.1 support, Blazor charts and WebAssembly support, new WinForms, WPF, and ASP.NET MVC controls, and some necessary and important licensing changes. You'll also notice new UI improvements in the C1ControlPanel installer.
Studio Enterprise Subscribers Get More
Starting with 2020 v2, we have merged Studio Enterprise and Ultimate bundles at the lower subscription price. If you have Studio Enterprise, you now get access to our JavaScript and MVC Enterprise controls and our newest .NET service components like DataConnectors and DataEngine. These provide tons of value for all .NET apps.
If you're developing for the web, the enterprise controls give you advanced charts and pivot grids for financial and analytical apps. With FinancialChart you get nine specialized chart types, such as Heikin-Ashi and Kagi. With our Enterprise OLAP controls, you get pivot tables and charts inspired by Microsoft Excel for ASP.NET MVC and JavaScript.
If you're developing for the desktop or the web, our newest .NET service components are cross-platform data management solutions. They include online CRM data connectors to popular sources like Microsoft Dynamics and Salesforce, and our innovative DataEngine and DataCollection libraries deliver high-performance features like caching and data virtualization to any data management app.
JavaScript Wijmo Enterprise Controls and ASP.NET MVC Enterprise Controls | .NET Standard Service Components |
---|---|
FinancialChart: Includes nine specialized chart types such as Heikin-Ashi and Kagi. A built-in calculation engine. |
DataConnectors: Connect to and integrate data from: Dynamics 365 Salesforce Kintone or any OData source |
FlexSheet: Extension of FlexGrid with spreadsheet-like headers Formula bar |
DataEngine: Fetch and query millions of records in a second or less. Sort, filter, group and aggregate data at runtime without needing to hit the server. |
OLAP/Pivot: Pivot tables and charts Pure client-side JavaScript | DataCollection: Enables cursor and paging-based data virtualization for incrementally loading large data sets A more powerful .NET CollectionView |
MultiRow Datagrid: Utilize multiple rows to represent each data item Supports all features of FlexGrid | TextParser: Extract data from plain text or HTML files, such as emails. |
ReportViewer: Lightweight viewer used to display reports from a ActiveReports or ComponentOne FlexReport |
Important Changes to Licensing
Starting with 2020 v2, ComponentOne is issuing a new serial key & licensing system. If you have an active subscription, then there's nothing you'll need to do right away. When you renew or activate a new machine, you'll want to check out how to use the new GrapeCity License Manager.
Along with the new licensing system, developers building .NET Core, MVC Core, Blazor, Xamarin, and UWP apps no longer need to use the runtime app keys. We've improved the licensing to validate within the NuGet build scripts so once your machine is activated - you are good to go when building your app. No more runtime app keys, no more licenses.licx files, no more hassle!
Read more about changes to licensing it here.
.NET 5 WinForms and WPF Controls (CTP)
Get a look at the first .NET 5 WinForms and WPF controls we have implemented just in time for the .NET 5 Preview 6. These controls are built upon .NET 5 and take advantage of new features without compromising on backward compatibility or performance. In the initial WinForms CTP, we are releasing FlexGrid, FlexChart, Ribbon, Sparkline, SuperTooltip, C1Icon, ExpressionEditor, RulesManager, and themes. For the WPF CTP, we are releasing FlexGrid, FlexChart, FlexPie, Input, DateTime Editors, ColorPicker, ComboBox, DropDown, Docking, RichTextBox, TabControl, and TreeView.
We have worked hard to keep the API compatible with the .NET 4.x version to a great degree. We plan to add more controls by the November release based on user feedback and usage.
.NET 5 Support for WinForms and WPF
Our .NET 5 CTP includes new versions of our most popular WinForms and WPF controls built on .NET 5 for optimal performance and features. However, we will still continue to support our existing .NET 4.x controls within .NET 5 apps. So if you are migrating an app to .NET 5, you may continue to use the .NET 4.x version for now, or if you would like, try out the new .NET 5 version and see how it improves within the new, lighter framework.
.NET Core 3.1 Support
Starting with 2020 v2, we now support .NET Core 3.1 across WinForms, WPF, ASP.NET Core MVC, and Blazor. For the most part, we already supported this framework since our last release but there were some reported issues. For WinForms, we had already started to support .NET Core 3.1 in our hotfix releases. Now, all .NET 4.5.2 controls are now .NET Core 3.1 compatible except for C1Editor control and the legacy C1Report. Users planning to port their .NET Framework applications to .NET Core 3.1 should update to 2020 v2 to be sure they're using the most compatible controls to do so.
DataConnectors Expand with SalesForce Integration, Scaffolding, and Intelligent Caching
Integrate your business data from popular online CRMs like Salesforce and Dynamics into your .NET apps with ease. Our .NET DataConnectors library continues to grow this release with added SalesForce and Kintone integration. Salesforce is a CRM that helps manage various enterprise business systems and Kintone is an online workspace to build collaborative workflows.
The data connector for these two platforms is .NET standard libraries that enable data operations based on established .NET technologies such as ADO.NET and Entity Framework Core. These data connectors come with great features like CRUD support, performance features like Batch updates, connection pooling & caching, quick development tools like scaffolders.
New Features for all Data Connectors
Incremental Caching
Incremental caching is a useful caching strategy for tables that grow and update in source entities and need to be synced with the cache database. This technique relies on a unique field and a time-stamp field in the source database that records the last time the record was updated. Using this feature application which needs to cache data and periodically update data without completely refreshing it can improve the performance of the application over time.
Scaffolding
Scaffolding is a reverse engineering technique that helps developers quickly generate model classes based on the entities of the source database. With this release, we have added this feature to all our data connectors. The scaffolding technique is similar to Entity Framework Core. The scaffolding command needs to be used along with the connection string of the source database using options for tables for which classes need to be generated. The command also generates the relevant DbContext class and DbSet properties.
Conditional Formatting Rules Manager for WinForms
RulesManager is a UI library that can be attached to any data-aware control such as FlexGrid, DataGridView, or FlexChart to enable users to add and manage conditional formatting at runtime. Similar to Excel, the control supports, colors, data bars, gradients for formatting cells based on rules. The control has easy to use API which developers can use to add conditional formatting through code.
WPF FilterEditor and Material Themes
Let your users build complex filter expressions with FilterEditor. The new FilterEditor component shares the DataFilter Engine and enables the end-user to easily build category-based AND/OR filter expressions. The control can be bound to a data source and it will automatically provide visual options to create expressions based on available fields. Complex expressions can be created using a combination of AND\OR operators and a set of available filters.
Plus, the 2020 v2 release includes the beta version of our newest Material Themes. Inspired by the popular Google theme, Material themes are minimal and utilize empty space to visualize data more cleanly. Material themes are ideal for a modern look or touch-based UIs.
Blazor Charts and WebAssembly Support
Our new Blazor Edition expands this release with the addition of FlexChart and WebAssembly support for all controls. We previously announced WebAssembly support during Microsoft Build earlier this year but in case you missed that now is your chance to get the update. And now you can add charts to your Blazor Server and WebAssembly apps with FlexChart:
- 50+ chart types and customization options
- Visualize live data with easy-to-use data binding
- Deliver modern data visualizations and dashboards with SVG rendering
- High-performance for both Blazor Server and WebAssembly apps
- Choose from a comprehensive list of popular chart types including clustered, stacked and composite plots
- The same powerful charting engine as other platforms.
Read more about Blazor Charts here.
ASP.NET Core MVC Enhancements
FlexGrid for MVC Checkbox Selection and Boolean Checker
The 2020 v2 release of FlexGrid for MVC includes a selector that adds checkboxes for row selection. This is very useful on mobile devices, which have no keyboards with shift and control keys for extended selections. The selector can be used on header columns as well as regular scrollable/data columns. This works with flat and hierarchical views, in which users can toggle the selected state for entire groups at once.
We also added a Boolean checker feature in which a Boolean column can now show a checkbox in the header by adding a c1-flex-grid-boolean-checker element, setting the column name to the property, and setting show-check-all to true.
FlexGrid for MVC Template Functions and Column Pinning
For the MVC FlexGrid, we also added support for template functions in columns. This feature enables calling functions at runtime to create custom cells. This is helpful in creating a button, hyperlink, image, rating, and sparkline columns using the client-side CellMaker. For example, to display a button in a cell, create a FlexGrid column, assign a template-function name of a client-side function that uses the CellMaker.makeButton client-side method to create buttons in cells of the columns.
In 2020 v1, we had added the ability to pin a column at runtime to freeze them. Now in this update, we have enhanced this feature so that a user can pin a range of columns or a single column.
FlexChart for MVC BreakEven Chart
FlexChart now supports BreakEven charts for MVC. We added the useful new chart type that helps in visualizing sales volume levels at which total costs equal sales, losses will be incurred below this point, and profits will be earned above this point. This chart type is helpful in financial applications.
New MultiSelectListBox Control for MVC
The new MultiSelectListBox control is an advanced ListBox that supports checkboxes for each item and the ability to filter items. The option to select all items and filters can be opted in by setting show-select_all-checkbox and show-filter-input properties respectively.
FileManager Local Storage, New Layouts and Themes
The FileManager for ASP.NET MVC now supports local storage in addition to cloud storage. FileManager uses storage APIs of the C1WebAPI to integrate with cloud storage and local storage. The control now supports a new grid and thumbnail layout, the grid layout displays the name, modified date, and size of the files. The FileManager now supports the available themes of the MVC studio so you can now use over two dozen themes to style the control.
New C1ControlPanel Install UX
In this release, you'll also notice a new user experience when installing or updating any ComponentOne product. Inspired by the Microsoft Visual Studio Updater, the panel on the right of the installer gives you detailed information about what will be performed. You can install and update a version of the product and select which .NET Framework version, samples, and see what common tools are getting installed, as the new GrapeCity License Manager.