Friday, June 5, 2009

Jeremy Yoder's team totally depends on ActiveReports programmability

“Why do we use ActiveReports? In a word: Flexibility. There is simply no other reporting product on the market that allows so many elements to be altered programmatically. This enables us to make an end-user product that relies almost entirely on GUI interfaces, which we programmatically translate into fast running reports, whether it’s via customized control properties, our own report wizards, or dynamically created subreports, all of which are done by our users with a few mouse clicks.”

He further describes the "slick" development features in their reporting module built using ActiveReports that he is especially proud of:

1. Report Wizards
2. Dynamically created underlying queries (via a stored proc)
3. Control wrappers for use in the property grid (which uses the Tag field for customized properties)
4. Ability to create formulas that can be reused in different reports
5. Generate other labels and summary fields when user places fields on the designer
6. GUI interface for almost everything, including subreports with multiple links
7. Ability to filter each report “on the fly” before it’s run via pre-created filters and/or individual field selection
8. Generate crosstab reports after the user specifies the X, Y, and D fields, and possibly other fields on the designer
9. Customized toolbars: For placing report controls, editing control properties, and a treeview list of views/fields with multiple tabs based on field type
10. The user never writes scripts, but he does it programmatically for various features, such as tying to subreport, make numeric fields red if less than zero, etc.
11. User defined font defaults to apply by section as fields are placed on the designer or generated
12. Export/Import reports in their entirety with all relevant subtables into a single XML file
13. Ability to run reports in a “Void” format to show the report layout without exposing potentially sensitive data


Jeremy Yoder,
Software developer,
Software Unlimited, Inc.