Reporting with dynamic layouts
We're using DevExpress Xtra reports, but they don't seem to be able to meet our requirements...
I previously posted this question, to which no good answer (that I am aware of) exist, even from devexpress.
We would like to have a report that we can change the layout of (based on some property of a user), but have the underlying 'plumbing' the same (e.g. data source, columns etc, though with different parameters provided to the report).
The closest I can explain what I'm after is a sort template approach, or imagine applying different master-pages. I'm not after a skinning effect, our customers dictate the entire layout of the report, such that a single report for one custo开发者_C百科mer, may be entirely different (in terms of layout) to another customer. I also do not want to maintain many reports - e.g. if I add a column, or change the beforePrint event on a column on the main part of the report, I don't want to have to go through other files and change them as well (we could have 100's of layouts for one report).
Does anyone know of a product that would meet our requirements, or can suggest a method of achieving what we require?
I realize that you might have already solved this, but what we did is to serialize the report and save it in the database. The user can edit the report to any layout desired. When a new column is added to the report, we update the datasource and the column is now available for the user to use...if they want to. We only maintain 1 version, and that version, if needed is serialized into the database or is just used as the base layout (we have multiple ways of using the reports, one is just a report and the user selects the layout for the report to display (none uses the system copy(our copy we maintain) or the user may be using something like an invoice where we will load multiple reports and merge them into 1 print file.)
yeah, there is a lot of information, and not much in the way of code, but DevExpress is very flexible, at least in this way.
HTH
I would take a look at the Telerik reporting http://www.telerik.com/products/reporting.aspx
Reports are just C# classes and you can modify the reports easily by writing your own code inside the report, you can also for instance create a base class and have all reports inherit from that. I would think you could leverage this level of flexibility to meet your needs.
精彩评论