I’ve been looking for a good 100% native Dot Net reporting tool for a while.Reports are key elements to most business software packages today, so finding a powerful and easy to use reporting package is a must.In reviewing packages, I was offered the chance to look at StimulReport by StimulSoft (http://www.stimulsoft.com).It’s a fully managed reporting package that works both in Windows Form projects as well as the Web.
One of the first things I noticed about StimulReport was that it is very Visual Studio “like”.One of the ways to design a report is to drop a StiReport control on a form, which gives you an instance of the report that you can design.This follows standard Dot Net drag and drop design and was very intuitive when I was learning the package.
To design the new report, you use the StimulReport designer.I found the designer to be well laid out.It also has a good Visual Studio feel, making the learning curve easy to cope with. There is an object toolbar on the left for easy access to standard report components and a simple tab view to change between the report designer, its code and a full preview of the report.
On the right, you have a property designer where you can set your report object properties.The below image shows some of the properties of a text object.You’ll notice that the properties are intuitive and easy to fill out like standard textboxes in Visual Studio.
Ok so it looks nice, but how easy is it to make a report?As I started to design a simple report, I immediately noticed that everything in the report is an object.The bands, data, reports, charts and other report objects can be dropped on in any order.This brings up an interesting observation; you can arrange bands in any combination you want.This removes the limitation a lot of other reporting software has, fixed grouping.Notice in the image below that I have a header followed by some data, followed by another header and footer.
Each object also has several events associated with it.The image below shows the events for a text object.You can use a scripting language that’s based off of C# or Vb.net, your choice, for the events.There are events for everything I could think of that I wanted; tooltips, mouse clicks on fields and other printing functions.
Ok, so now what kind of data can we use to bind to our report?Well just about any Dot Net type will work from custom business objects to data sets.It supports both design time dropped on the form data controls as well as runtime binding to dynamic data.This will allow for simple direct to the database reports to much more complex reports that are build of enterprise business objects.
As I got further into StimulReports, I found many cool features.To name a few of my favorite that I didn’t cover above:
- You can call code in your application FROM the report!
- All controls can be styled
- A full royalty free designer you can let your end user use.You can also control the features they can use in it for those “special” clients.
- Business object support in the reports makes enterprise development much easier.
- Multiple “Looks” for a report such as a side by side report (Like the Microsoft Word reading feature where you see multiple pages on the screen).
There are way too many to go over here.I strongly suggest that you download a demo of StimulReport and try it for yourself.If you’re like me, as a software architect, I don’t like messing with reporting because it’s always been different than the standard IDE’s I’m used to.I think you’ll find StimulReports intuitive to use and very close to native coding in Visual Studio.This helps reduce the learning curve greatly.