House-keeping first: source code can be found in the /Reports branch (a branch of version 4.0 of SharpDevelop), an integration build is available on the build server under the heading "Mirador Reports Branch".
Back to the scheduled programming - in the near future I will work on the following tasks:
The Exporter
It is used by the ReportViewer as well as for creating PDFs (et cetera) - and it will be rewritten. The reason for this is:
For each BaseReportItem I have to maintain 3 classes. First the Base…Item in Reports.Core, then, one in Reports.Addin to use in the Designer and third I have to convert the BaseReportItem in a new class derived from BaseExportColumn. I will remove the third part and use only classes derived from BaseReportItem. This will bring me to a codebase that is used in the standard printroutine as well.
Advantages:
- Less code to support
- Same codebase as in the standard printing (preview)
- Less conversation
So, to make things easy I will rewrite the Exporter.
Sub Reports
Next, I will start working on subreports to support grouping. This will touch the ReportWizard, the Designer and the DataManager. I will use the already existing TableLayout as a base for SubReports.