Telerik Forums
Reporting Forum
7 answers
1.4K+ views
Can you create a custom Report Viewer toolbar? Specifically can certain options be hidden and can you style the toolbar?
Neil N
Top achievements
Rank 2
Iron
Iron
Veteran
 answered on 22 Jan 2019
2 answers
381 views

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()"
Nikita
Top achievements
Rank 1
 answered on 22 Jan 2019
3 answers
1.4K+ views

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,

Silviya
Telerik team
 answered on 21 Jan 2019
0 answers
127 views

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. 

Craig
Top achievements
Rank 1
 asked on 21 Jan 2019
2 answers
114 views

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!

Salvatore
Top achievements
Rank 1
 answered on 20 Jan 2019
1 answer
350 views

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

Patrick | Technical Support Engineer, Senior
Telerik team
 answered on 18 Jan 2019
6 answers
416 views

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.

Mark
Top achievements
Rank 1
 answered on 18 Jan 2019
2 answers
455 views
Hi Team,

greetings from our end. the tool is performing absolutely awesome. but we got stuck up with critical requirement. before this let me tell you, we are strictly following the following url in our implementation.
http://www.telerik.com/help/reporting/graphhowtocreateprogrammaticallygraph.html


the requirement says:
we need to set standard colors (black, white, green, red, orange, gray, .. ) for each bar we have under one and only 1 series and the color for each bar is to be defined based on dynamically mapped ProductCategoryGroup field ProductCategory from the above url.

for eg:-
product category is Bikes we need to have orange. 
product category is automobiles we need to have grey.

Now, the data source is not always loaded with same product categories list. we make load bikes, automobiles, etc:- or bikes alone or automobiles or different combination list.




Theo
Top achievements
Rank 2
 answered on 18 Jan 2019
3 answers
286 views
I've just moved back over to using the report viewer for HTML5 in order to use the interactive feature and have a Document map for my reports.  I have received push back from my QA people that we are going to lose our infinite scrolling feature.  When doing research I came across this article:​ http://www.telerik.com/forums/infinite-scroll

which suggests that by now the HTML5 ReportViewer should have infinite/continuous scrolling.  I have not been able to find this setting, and would like some help in locating it please.

For reference if needed, I am using the jQuery.fn.telerik method to spin up a report viewer on div creation like so.

$('mydiv''))
.telerik_ReportViewer({
serviceUrl: "/../api/reports/",
templateUrl: '/.../ReportViewerTemplate.html',
reportSource: { report: parameters },
viewMode: telerikReportViewer.ViewModes.INTERACTIVE,
scaleMode: telerikReportViewer.ScaleModes.SPECIFIC,
scale: 1.0
});

,
Veronika
Telerik team
 answered on 17 Jan 2019
3 answers
371 views

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:

foreach (var entityData in reportData)
{
    var specificReport = new SpecificReport(entityData);
    reportBook.Reports.Add(specificReport);
}

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:

public class CustomReportResolver : IReportResolver
    {
        public ReportSource Resolve(string reportJSON)
        {
            var response = new InstanceReportSource();
            var reportParameters = JsonConvert.DeserializeObject<ReportRequestDto>(reportJSON);
            if (null == reportJSON) return response;

            var reportData = ReportsUtility.GetReportData(reportParameters);
            response = ReportsUtility.GetInstanceReportSource(reportData);

            return response;
        }
    }


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?

Viacheslav
Top achievements
Rank 1
 answered on 15 Jan 2019
Top users last month
Will
Top achievements
Rank 2
Iron
Motti
Top achievements
Rank 1
Iron
Hester
Top achievements
Rank 1
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Thomas
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?