Generally, the key requirements of reporting applications are that report building and document generation should be simple, fast, and accurate. ComponentOne Studio introduces FlexReport, a completely revamped and a newer C1Report, empowering .NET developers to solve complex problems for their application’s business needs. With FlexReport, you can:
- Experience performance twice as fast as C1Report
- Migrate from Crystal Reports in one click
- Use FlexViewer for all document types
- Enhance report rendering
- Double-click reports to open directly in FlexReport Designer
- Take advantage of feature-rich controls like ParagraphField
Faster than C1Report
FlexReport aims to be the industry's lightest and fastest reporting tool, in particular for small reports.
- Twice as fast as C1Report in general
- Major exports like PDF & HTML will be up to twice as fast as C1Report
FlexReport's modern rendering uses DirectWrite/Direct2D technology to draw/generate report content that does not depend on measurement context like Printer, Screen, etc. This makes rendering of text, shapes and borders much sharper than before. Comparison of rendering times in FlexReport vs. C1Report
Combine Multi-Formatted Text, Database Fields and Scripts in Single Field
FlexReport introduces Paragraph Field, which has the power to combine static text, database fields, expressions, scripts in a single field. Moreover, you can choose any word and set it in a different format. You can even choose an expression and edit it separately in the Expression editor. Editing expressions in FlexReport
Flexible Viewer Control for all Document Types
Up to now, you've been using multiple preview controls for every Document type like C1PDF, C1Report, SSRS, C1Document types, etc. With the introduction of FlexViewer, it's easier to load such documents in a single viewer, starting with the support for C1Report, C1FlexReport, SSRS and C1Document types in 2015v3. FlexViewer will be more interactive, giving you the ability to:
- Use and reset parameters
- Options to refresh & cancel report rendering
- New thumbnail panel
- DirectWrite/Direct2D-based rendering
Double-click FlexReport (.flxr) to open directly in Designer App
Reports created with FlexReport are saved with .flxr extension. The advantage is that you can open a .flxr report directly in FlexReport Designer App by a simple double-click.
New Designer App with a Rich User Experience
The FlexReport Designer App has additional features to improve your report design experience:
- Snap Lines to show and align distance from controls
- Collapsible and expandable sections and subsections
- Show captions settings for optionally displaying section and subsection header strips. Options include:
- All (shows strip on all)
- Sections (shows strip on Sections and not subsections)
- Hairline (hides the section header strips)
- Chart editors at design time to set chart field's properties, data source and visual effects
- Data tab to add, edit and remove data sources, parameters, sort expressions, calculated fields. Corresponding properties are displayed in property grid. Sort expressions and calculated fields can be edited in expression editor by right-clicking and choosing EDIT.
- Ability to edit expressions through "Edit Expression" in context menu
- Align general button to automatically align numbers to left, other values to right.
Highly Accurate Crystal Report Migration
FlexReport supports more features that improves its compatibility with Crystal Reports. Expect more accurate migration for following features in 2015v3:
- BlobField (Picture)
- OleObject (Picture)
- Database Fields
- Special Fields
- Time Formats
- Complex expressions that combine text with database fields and aggregates
- Summary Fields
- Percentage Aggregates
- Textbox Formats (Currency
- Multiple join queries
- Text Rotation
- Text Formatting
New Reporting Features
- FlexReport is fully compatible with C1Report.
Hierarchy for Field Types with common base: C1FlexReport uses different class types (with a common base) to represent different types of report fields:
- FieldBase: Abstract base class for all report fields.
- DataField: Very simple field to show a single datasource field.
- TextField: Represents a text, possibly with different formatting.
- CheckboxField: Shows a Boolean Value
- ImageField: Shows static or data bound images.
- BarcodeField: Shows barcodes.
- RTFField: Shows RTF text.
- ShapeField: Shows geometric shapes.
- ChartField: Shows Charts.
- ParagraphField: Shows Field that can combine static text, expressions, scripts and data bound fields in a single field.
- FieldBase: Abstract base class for all report fields.
Support for multiple data sources: C1FlexReport definition can include several data sources, accessible via the new C1FlexReport.DataSources collection. In 2015v3, the data sources can be used as main data source in the report, as a source of valid values for report parameters and as a data source for chart field.
Improved data sorting: New property SortExpressionCollection DataSource.Sorting allows to define several sort expressions (of the type SortExpression). Each SortExpression contains an expression used for sorting, and the sort direction (ascending or descending). These expressions can easily be added in FlexReport Designer app's data tab, using VBScript Editor.
Improved data filtering: In C1FlexReport, filter can be specified in regular VBScript as all other expressions in C1Report/C1FlexReport. The syntax to use is specified by the FilterSyntax property of Data Source, possible values are DataView (compatible with C1Report) and VBScript.
Calculated fields for each Data source: Data sources in FlexReport allow to define calculated fields in the DataSource.CalculatedFields collection. These calculated fields can be directly used on report.
New Report Parameters Collection: In C1Report, parameters could be specified either in DataSource.RecordSource, or in DataSource SQL Query, e.g.:
C1Report.DataSource.RecordSource = “PARAMETERS param1 int 0; select * from Customers where id < param1”.
In FlexReport, parameters are defined in the C1FlexReport.Parameters collection, where each element is an instance of the ReportParameter class, with the following properties:
It's easy to add parameters through FlexReport Designer App through the data tab. FlexReport supports use of parameters in the following scenarios:
- Data binding
- Expressions in Calculated Fields, Sort Expressions
- Passing parameters to Subreports
- Cascading Parameters
These parameters are also accessible in VBScript Editor for calculated fields and sort expressions. You can also access the parameter properties in the VBScript Editor.
New Sub-sections: Each section of FlexReport can contain one or more sub-sections, which in turn can contain the report fields. Sub-sections present a number of uses: for instance, when you want to conditionally show or hide some parts of a section, or format some parts of the section in a different way.
New visual properties
- Multiple Border Styles: Borders can be specified for fields, subsections and sections (unlike C1Report, where borders could be defined on fields only). Additionally, each side of a border can have its own style, and rounded corners are supported (with different radii for different corners) too for all fields, subsections and sections.
- Backgrounds: Fields, subsections and sections can now have solid or gradient backgrounds.
New and extensive set of Charts and related API: FlexReport now has an exhaustive list of charts for you to choose from. About 70+ charts in Regular, Stacked and Percentage forms will make you meet any needs of your business application. Check out the experience of adding charts to FlexReport Designer app with introduction of chart editors giving you an intuitive way of binding data and drawing multiple series. You will no longer have to struggle your way out to add a chart to your reporting application. The extensive API will make you use native properties of different chart types.
Important Note on FlexReport:
Breaking changes from C1Report to FlexReport
Since the architecture of FlexReport is different than C1Report, there are some breaking changes in the API. Please refer to documentation for more details.
Product Samples DLL Reference
If you have both ComponentOne Studio for WinForms and ASP.NET Web Forms studios installed on the same machine, then please change reference path to following DLLs manually in all WinForms Product Samples, Control Explorer that reference: