Monday, July 29, 2013
Developing the new Reports module
Reports - Make it possible to easily use XtraReports designed in Visual Studio.
It is primarily about allowing you to easily reuse regular XtraReports created in Visual Studio in an XAF application
I must say that nothing has already prevented you from displaying regular reports in XAF in exactly the same way as you would do in a non-XAF app, but of course the XAF reporting is not only about that: our built-in module also integrates reports into the application navigation and menu systems, enabling end-users to create reports at runtime and store them in the database, adds the Show In Report command to list and detail forms, as well as adding many other features requested by our customers.
I wanted to inform you that the aforementioned request is planned for version 13.2, and we are currently working on it.
Here is a very short overview of the new features:
1. You can create a regular XtraReport in Visual Studio and connect it to a special XAF reports data source dragged from the Toolbox;
2. There are two main XAF report data source types: CollectionDataSource and ViewDataSource.
The CollectionDataSource is very similar to an XPCollection, while you can think of ViewDataSource as an XPView component, allowing you to specify and load only required data properties or aggregated calculations instead of the whole objects hierarchy. The latter part is new for XAF reporting and is also something that was requested in the past by many customers, because it can help you achieve a better performance and less memory consumption for large and complex data models.
3. You can configure data type, sorting and filtering options for these data sources at design time and XAF will connect it to the corresponding data from your app at runtime.
We decided to create a new module to avoid breaking changes for existing customers, which means that existing XafReports will work as expected in the new version and can coexist in the same application with the new reports:
Feedback is needed!
Please let me know whether you like these features. Also, which features you want to see in the new module?