Keep collapse expand while exporting to MHTML in SSRS 2008 - reporting-services

Is it possible to create a report with 'collapse-expand' feature and keep it "live" when exporting the report to MHTML ?
I try it without any success, I just wondering if there is any 'work around' way of doing it.
I didn't find any references on this issue over the web.

The MHTML is an interpretation of the RDL language upon exporting a report definition. I am not sure if many of the advanced options of SSRS you would be available to do with exporting (drill downs, collapsing, etc). You can collapse with Excel though, I do know that.
Could you not develop an HTML page that calls to the server or else give the user direct access? Different formats will do different things but the direct report will always have more power than an 'export' format of it. Before going too far down the road of doing this I would ask: "Why do you need to do this?" Is a certain user having to have it in a detached format from SSRS?
There are two things I can tell you you can do depending on your level of knowledge of code and what you want to accomplish:
You may embed the report in existing HTML as a property. It is similar to:
< Form id="frmRender" action="http://(servername)/(webservicelocaleofreport) method="post" target="self">
You can code in a language of either C# or VB.NET a report viewer that can call to the webservice to VIEW the report live via SOAP web calls.

Related

How to change the DirectionLayout property of SSRS Report`s tablix dynamically to make the report supports english and arabic languages

I`m working in a program that supports English and Arabic languages and in current days we are developing the program reports.
We choosed to use SSRS with ReportViewer control in WindowsFormsApplication(C#)
I searched for a way to change the DirectionLayout property of the tablix according to language(LTR english, RTL arabic) and I tried a lot of solutions but with no success.
I do not want to create two reports or create one report with two tablixes one for each language.
Now I`m trying to do the following:
Use SSRS web services to get report definition
Edit the report definition (convert Tablex DirectionLayout to RTL)
Use SSRS Execution Service to load the definition and render the report
assign the renderd report to ReportViewr control
I would like to know is that possible? And where can I search to achieve this task?
1) Depending on the version of SSRS you are using, you can use GetReportDefinition method (http://msdn.microsoft.com/en-us/library/reportservice2005.reportingservice2005.getreportdefinition(v=sql.100).aspx) or GetItemDefinition (http://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010.getitemdefinition.aspx)
2) You can use the RDL Object Model to edit the RDL, although it's not trivial and the classes of the Microsoft.ReportingServices.RdlObjectModel namespace are marked internal (SSRS 2008 R2 and higher). You can find sample code by Teo Lachev at http://prologika.com/CS/blogs/blog/archive/2010/03/08/where-is-rdlom-in-r2.aspx and by Lionel Ringenbach at https://github.com/Ucodia/Blog-CustomReportingServices.
For reference information about the classes and methods of the RDL Object Model, start at http://msdn.microsoft.com/en-us/library/ff493708.
3-4) I think it would be easier to deploy your edited report back to the server and then call it with the ReportViewer control. Then you can just leverage available methods in a straightforward manner. The ReportViewer control can handle the rendering directly. Here's information on deployment via the Web service: http://tomyrhymond.wordpress.com/2011/08/07/sql-server-reporting-services-deploying-rdl-files/

How can I render a report as a PDF with different page orientation, and include headers/footers for subreports? SSRS

Working with Reporting Services 2008 r2.
So here's my issue:
We have 5 reports that need to be combined into an "All Reports" report, which was originally done using VB6.
I created a master report with 5 subreports, and of course, it doesn't work.
I need to get certain reports to render as landscape, and others as portrait. Also, I want to get the headers and footers from each of the subreports.
I know that SSRS doesn't support either of these, but is there a way to "pre-render" the subreports as PDF, and then combine them into one PDF via reporting services?
This cannot be done out of the box. The only way you're going to accomplish this is through custom code. There are tools out there that you can build/buy to merge your PDFs into a single document. I can't comment on which tool is the best approach, but I can tell you custom code is the only approach.

MS Access Report to Crystal Report in .net windows application?

I have MS Access reports that needs to be displayed in a crystal report in .net windows application. Is there any way to do it or some alternatives?
I am not sure about the right approach to complete this, can anybody help here?
Hum, I don’t think this is possible. I not aware that access reports can be converted or transferred to crystal reports anyway.
Remember, access reports have event code, and even can have code run in the report for EACH line of detail that displays. In other works, not only are access reports amazing, but they are fully programmable with VBA code embedded INSIDE of the report.
Because of this issue, you need ms-access running and loaded for those reports to work correctly (the VBA is required, and functions, and also that of sql queries..of which a report can be based on SEVERAL data sources and several tables all at the SAME TIME).
Even more worry is that there is not any kind of code or report converter here from ms-access to crystal reports. So, you never could in any way easy way transfer reports from ms-access to crystal reports.
You could attempt to embed ms-access as a com object, but all kinds of problems like page numbering etc. can’t really be controlled here if the report is to appear inside of the crystal report.
I STRONLY recommend that if you need some reports in crystal reports, then have the appropriate reports built in crystal and you avoid this whole mess. And, you avoid having ms-access in the mix. Or, dump crystal, and only use ms-access here.
Attempting to embed word, excel, pdf, or other com objects such as ms-access inside of some crystal report is formula for VERY unreliable applications. This is likely not possible, but even if it was, I would not let loose an application of this type. Heck, embedding pdf’s in a access report can’t even reliable work (they break after some stupid pdf update gets issued automatic). This type of mixed up systems near guarantee break when one or the other system has some automatic update occurring!
You start mixing up several applications and it will cost you buckets support trying to keep that mess running.
If you MUST take different reports from several different systems, then send out all the reports to pdf, and then use some pdf tools to combine them into one final pdf document.
Don’t try t mix reporting systems at the application level. It not reliable even if this was possible..

Creating and managing annotations in SQL Server Reports

I need to load SQL Server reports over the web and make it more interactive for a set of users by:
Allowing them to put up their annotations/comments on different visualizations being shown.
Track these annotations for each screen.
Is it possible with SSRS or any other visualization mechanism? Please let me know of any means to do it.
cheers
It sound like what you asking for is not SSRS as such: it's an interactive web page. by this I mean SSRS is output only, no data input.
So you want users to share comments on the
latest report execution? SSRS will render with the latest data by default so what 2 users see on different screens a minute apart will be different. How do you matchreport data and comments?
a specific execution? Look at report snapshots.
the data in any report execution? See my idea below.
My solution for "comments on data"... which assumes annotations are persisted in the database with the report data...
The Report Viewer control in remote mode with an ASP.NET wrapper to deal with user input (annotations) might do the trick. The report would display annotations. In SSRS the screen = the report so this captures one requirement.

Dynamic charts at runtime in SSRS

I need to create a report(rdl) in SQL reporting services 2008. In that I need to create in runtime. The report has chart. I will specify the type of chart, font, alignment and all those stuff in runtime.
Is there any option for using this in SSRS 2008.
An rdlc is just an xml file so you can manipulate it at runtime, it's not a trivial undertaking though. You can find the rdl spec at http://download.microsoft.com/download/6/5/7/6575f1c8-4607-48d2-941d-c69622e11c32/RDL_spec_08.pdf.
There's a downloadable example of creating an rdlc for a table and a matrix dynamically, as well as lots of other useful report viewer info at http://www.gotreportviewer.com/.
You can generate the RDL however you want, it is just an XML file. But you will only be able to run the report locally. To run on the server you would need to deploy the report first, as the server does not run the RDL files directly.
I suppose this is still possible, but it would be pretty slow, and the report would not appear in the report manager or anything before hand.
However, your probably making this problem more complicated than it needs to be. I have work on projects where we generated the RDL and deployed daily with a custom application, and it is almost always not worth it. There is usually a better way.
You can set almost all the parameters of the chart using expressions. The only thing that can't be set is the chart type, but there are ways to get around that as well. Like having all the chart types you need created on the page, but making all except the one you want visible.
Yes...
to do so, you will need to either have an existing rdl file to modify, or you need to completely generate it from code.
All the SSRS xml is stored in the database in a table called catalog. You'll have to use the GUID of that report to access it, or insert a new row creating a new report.
once you're done swapping out your report server xml, the report server will have a "new" report that you can then call via your web page, or via SSRS url parameters.
past that clean up the catalog table if you see the need to.
I'll be honest with you though, this is very far from best practice, best practice that I'm aware of would be to embed the data you need to display in your web page in the form of a widget.