Hi, we are developing a asp.net mvc application and we are using the Telerik Reporting and HTML5 Viewer (and javascript). Everything works fine when we use our "trdp" or "trdx" report files on the file system and we get the report on the page access a database and showing some data.
Now, we are changing how we store the files on the system and we are going to a cloud storage environtment where all files will be on the cloud, including the trpd report files. It also could be stored on the database. We are using the InstanceReportSource to get the report object as byte array (from cloud or database) like this:
// get the stream for trdp report filevar reportStream = GetReportStreamFromCloud(...); var reportDocument = (Telerik.Reporting.Report) reportPackager.UnpackageDocument(reportStream);// check for subReports to replace it dynamically (code bellow here..)var instanceReport = new InstanceReportSource() {ReportDocument = reportDocument};return instanceReport;
It works fine when it is a simple report without subReports. The problem is when we have subReports and we try to set it dynamically as a byte array using InstanceReportSource and this SubReport has parameters (independently if it comes from main Data Source or from main Report Parameters). The code bellow is how we set the subReport:
foreach (var sections in reportDocument.Items.Where(x => x is DetailSection || x is GroupSection)){ foreach (var item in sections.Items.Where(x => x is SubReport)) { var subReport = (SubReport) item; // get the Stream for trdp subreport file. var subReportStream = GetReportStreamFromCloud(...); // unpack the report Stream var subReportDocument = (Telerik.Reporting.Report) reportPackager.UnpackageDocument(subReportStream); var instanceSubReport = new InstanceReportSource() {ReportDocument = subReportDocument}; subReport.ReportSource = instanceSubReport; }}How can we pass the parameters to the subReport dynamically?
Thank you.
I have installed "TELERIK_VERSION = "9.1.15.624" but missing Telerik Reporting Menu in Visual Community edition.
Hi,
I am experiencing an issue with the MVC version of the ReportViewer control when attempting to utilise Events RenderingBegin and RenderingEnd.
The goal is to addClass to $('status') called icon-pulse that flashes a cog icon on the screen while the report renders, and returns back to solid colour when rendering finishes by removing the class.
The report is triggered via Ajax button call to replace the VisionReportDiv on the page with the following view code:
<VisionReport.cshtml>
@model Company.Trims.Hub2.Models.ViewModels.VisionViewModel
<script src="@Url.Content("~/ReportViewer/js/kendo.subset.2015.3.930.min.js")"></script>
<script src="@Url.Content("~/ReportViewer/js/telerikReportViewer-9.2.15.1126.min.js")"></script>
@if (Model.VisionReportSource != null)
{
@(Html.TelerikReporting().ReportViewer()
.Id("reportViewer1")
.ServiceUrl(Url.Content("~/api/reports/"))
.ReportSource(Model.VisionReportSource)
.ViewMode(ViewMode.PrintPreview)
.ScaleMode(ScaleMode.FitPage)
.Scale(1.0)
.PersistSession(false)
.PrintMode(PrintMode.AutoSelect)
.ClientEvents(ce => ce
.RenderingBegin("RenderingBegins")
.RenderingEnd("RenderingEnds"))
)
}
else
{
@Html.Partial("Homepage")
}
<script>
$(document).ready(function () {
$('#reportViewer1').height($(window).height() - ($('#vision-title-bar').height() + 16));
});
$(window).resize(function () {
$('#reportViewer1').height($(window).height() - ($('#vision-title-bar').height() + 16));
});
function RenderingBegins() {
$('#status').addClass('icon-pulse');
};
function RenderingEnds() {
$('#status').removeClass('icon-pulse');
};
</script>
The Model.VisionReportSource is of type TypeReportSource that is loaded via a class library as follows:
Model.VisionReportSource = new TypeReportSource() { TypeName = typeof(MyReport).AssemblyQualifiedName };
If I comment out the ClientEvents section from the reportViewer1 declaration, repeat pressing the ajax button works without issue. After adding the ClientEvents centre back in (as above) - then it runs for the first call, but subsequent calls fail with the message:
jquery-1.9.1.min.js:5 Uncaught RangeError: Maximum call stack size exceeded at Function.isPlainObject (jquery.min.js:3) at Function.b.extend.b.fn.extend (jquery.min.js:3) at Function.b.extend.b.fn.extend (jquery.min.js:3) at Function.b.extend.b.fn.extend (jquery.min.js:3) at Function.b.extend.b.fn.extend (jquery.min.js:3) at Function.b.extend.b.fn.extend (jquery.min.js:3) at Function.b.extend.b.fn.extend (jquery.min.js:3) at Function.b.extend.b.fn.extend (jquery.min.js:3) at Function.b.extend.b.fn.extend (jquery.min.js:3) at Function.b.extend.b.fn.extend (jquery.min.js:3)
and the reportviewer dissapears from the page... I'm not understanding why subscribing to the two Rendering functions to add remove a Class to $('#status') is causing this issue??? Anyone else experienced this issue? Or does anyone have a good example of how to use the ClientEvents - I've looked pretty much everywhere and can't find a decent example.
Thanks in advance.
Hi there!
The situation is in the following.
On report load, before it loads finally, there are two inaccuracies.
First, by some reason, in report appears two strange boxes. It looks like one is for menu and other is for content. But in my final report there is nor menu neither separate content box.
[look at 1.png]
Second, when data have been loaded, on rendering all text became bold. After few seconds everything becomes normal.
[look at 2.png]
Final version of report looks like that:
[look at 3.png]
So, my question is in the following: how to prevent report to display two unnecessary boxes and how to stop report to make all text bold, when report loading?
Thanks for help.
I've got a report where I display a company name and logo at the top of a report.
The requirement is to be able to hide the company name and logo for printing on pre-printed company stationary which already comes with the above.
Another requirement is to be able to hide columns on the fly. Example: The first column of my report contains staff photos. The user would like to be able to hide the column by clicking on a checkbox in the parameter panel to hide the photo column.
Is it possible to do the above in the HTML Telerik report viewer? And if it is possible, how can I do it?
Thanks.
We have many Telerik MVC Reporting reports developed in Visual Studio 2015 (VS15). Earlier today, I installed VS17 and opened the solution. Then I reverted to VS15, and my reports will no longer open. Clicking on the buttons that normally open them has no effect whatsoever - nothing happens. However - I published to a test server, and the reports ran fine from there - so it's something to do with my PC. I have tried the following:
1. rebooting the PC
2. running the Telerik Reporting repair from the Telerik Control Panel
3. deleting the entire solution from my PC, and then getting it back from source control
It looks as though something on my PC has been changed by the VS17 install - any idea what it could possibly be?
I have a report which uses From and To dates to retrieve data from the server. I created a datasource called dsDate which has a list of the distinct dates in the reporting table and also a dataset called dsReportData which gets the report data using the from/to parameters. My from/to report parameters both use dsDate as their data source, the default value for To is the most recent date and the default value for From is the 4th most recent date. In order to do this, I created a custom function called FromDate() which returns the correct from date.
This works great for the first load however if I change the From/To date report parameter then Telerik goes away to the server, gets the new dataset and then resets all the parameters so the From/To report parameters are then reset back to their default values rather than the value entered by the user. The correct dataset is being reported to the user however because the From/To date report parameters reset the users think that the report is showing the wrong data.
Any advice would be greatly appreciated.
I have attached several screenshots to help illustrate my problem -