Hello. I've faced a problem trying to use HTML5 MVC Report viewer when using a .dll file loaded during runtime. I'm using a custom report resolver which creates TypeReportSource, sets a type name which I get from the loaded .dll and then returns the created report source. However, the report viewer displays an error. (Stack trace below).
Is it possible to use reporting service with a dynamically loaded .dll like that? Or is it only possible if I reference the .dll in my project directly (when I do that, everything works, but this is obviously not a desired way for me)
stackTrace: " в Telerik.Reporting.Processing.TypeReportDocumentResolver.Resolve(IProcessingContext context, TypeReportSource rs)<
br
>↵ в Telerik.Reporting.Processing.ReportDocumentResolver`1.Telerik.Reporting.Processing.IReportDocumentResolver.Resolve(IProcessingContext context, ReportSource rs)<
br
>↵ в Telerik.Reporting.Processing.ReportDocumentResolver.<>c__DisplayClass1.<
Resolve
>b__0(IReportDocumentResolver r)<
br
>↵ в Telerik.Reporting.Processing.ReportDocumentResolver.Bind[T](IProcessingContext context, ReportSource source, Func`2 func)<
br
>↵ в Telerik.Reporting.Processing.ReportDocumentResolver.Resolve(IProcessingContext context, ReportSource source)<
br
>↵ в Telerik.Reporting.Processing.ResolvedReportDocument.ResolveReportsRecursively(ReportSource rs, IProcessingContext context, IDictionary`2 parentRsParameters, Boolean parentShouldDispose, List`1 result, IReportDocument& definition, ResolvedReport& tocReport, ReportBookTocPosition& tocReportPosition)<
br
>↵ в Telerik.Reporting.Processing.ResolvedReportDocument.Create(ReportSource rs, IProcessingContext context)<
br
>↵ в Telerik.Reporting.Services.Engine.ReportEngine.GetParameters(String clientID, String report, Dictionary`2 parameterValues)<
br
>↵ в Telerik.Reporting.Services.WebApi.ReportsControllerBase.GetParameters(String clientID, ClientReportSource reportSource) в c:\temp\reporting\RBuild-18776\Reporting_Build\Source\Code\Telerik.Reporting.Services.WebApi\ReportsControllerBase.cs:строка 166<
br
>↵ в lambda_method(Closure , Object , Object[] )<
br
>↵ в System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.<
GetExecutor
>b__3(Object instance, Object[] methodParameters)<
br
>↵ в System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)<
br
>↵ в System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)<
br
>↵--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---<
br
>↵ в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)<
br
>↵ в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)<
br
>↵ в System.Web.Http.Controllers.ApiControllerActionInvoker.<
InvokeActionAsyncCore
>d__1.MoveNext()<
br
>↵--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---<
br
>↵ в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)<
br
>↵ в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)<
br
>↵ в System.Web.Http.Controllers.ActionFilterResult.<
ExecuteAsync
>d__5.MoveNext()<
br
>↵--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---<
br
>↵ в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)<
br
>↵ в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)<
br
>↵ в System.Web.Http.Controllers.ExceptionFilterResult.<
ExecuteAsync
>d__6.MoveNext()"
Hi,
We need to know if there is any workaround for printing each Table Group on New page. Basically our Report Datasource is already bind and having Group with setting Page Break After in Group Footer. Report contains a Table having different Datasource also having Grouping. Now it is required that each Table Group should appear on next Page addition to existing Report group.
Please advise any way to address the requirement...
Thanks,
I have a subreport that is being hidden under certain conditions. That is no problem and is working. However it still appears the subreport is executed when it's visibility is set to false, can I stop that behaviour.
The reason is if the subreport contains too much information I don't want it to run as it takes too long.
I'm in the process of trying out Telerik and I'm experiencing the following error in the Standalone Report Designer.
System.NullReferenceException: Object reference not set to an instance of an object. See attached picture for full error message.
Here are my steps to reproduce:
1. Create a blank project.
2. Insert a List to the Details section.
3. Insert an HTML Text Box to the List's Panel
I can add Text Box, Barcode, PictureBox with no problems.
Thanks!
Hello,
We are using Telerik.Reporting in one of our products. I've checked that Telerik.Reporting.dll uses SQLite internally.
May I ask what version of SQLite is being used on Telerik version 10.0.16.113?
Looking forward to your prompt response.
Thanks,
Mark
I am looking for a safe way to determine if a Telerik report file was modified by us or replaced by a custom version our client made.
I was hoping to simply apply a code-signing certificate to the report file, but that does not appear to work.
The idea is that if someone were to modify the file, it would strip out our protection which we could then detect.
We do not want to prevent end users from modifying the report file to create their own report, but they would need to set it up as a custom report in our system.
This means that a simple password on the file would not work as the end user would need to know it to modify the report file and therefore could pretend that their modified version is ours.
I wish to eliminate the possibility of tech support calls due to issues with their customized file that we mistakenly believe is ours.
I look forward to hearing from you.
We have a few reports implemented to work with old ASP.NET Web Forms. Recently we moved to Angular 5 + Asp.Net Web API.
The distinctive feature of those report is the dynamic design based on the data evaluated as a DataSource for that report.
The OLD (web forms) implementation follows steps below:
We have several business entities. As a first step we get the data related to those entities:
var reportData = ReportsUtility.GetReportData(reportParameters);
After that we create an Instance Report Source:
var reportSource = ReportsUtility.GetInstanceReportSource(reportData);
GetInstanceReportSource(..) method implementation detail.
Create a report book:
var reportBook =
new ReportBook();
For each of entities based on data obtained we create specific report instance and transfer the data into it and than attach the report to a report work book:
Return newly created Instance Report Source:
return
new InstanceReportSource {ReportDocument = reportBook};
Finally we assign the report source to a report viewer control
New back-end (Restful Service) implementation via CustomResolver is the following:
Everything works smoothly but as per Angular Telerik Report Viewer client lifecycle there are several calls to a back-end service:
GetParameters, CreateInstance, GetDocument ... and each of them internally invokes CustomResolver.Resolve(...) which causes data for the report evaluated several times.
So my question is there is a standard sensibility point or a simple workaround on how to set up DataSource for the report viewer once or at lease during some specific stage?