Telerik Forums
Reporting Forum
3 answers
417 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
432 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
2 answers
418 views

I noticed that the Export functionality is not working in Angular Report Viewer at all for all reports. I got the below exception in the browser If I click on any export button.

ERROR Error: Uncaught (in promise): TypeError: Illegal invocation
TypeError: Illegal invocation
    at zone.js:2984
    at proto.(anonymous function) (http://service-url:12334/polyfills.4dc437127b0fb9a93699.js:9074:24)
    at telerikReportViewer.js:1680
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:388)
    at Object.onInvoke (core.js:16156)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:387)
    at Zone.push../node_modules/zone.js/dist/zone.js.Zone.run (zone.js:138)
    at zone.js:872
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
    at Object.onInvokeTask (core.js:16147)
    at resolvePromise (zone.js:814)
    at zone.js:877
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421)
    at Object.onInvokeTask (core.js:16147)
    at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420)
    at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
    at drainMicroTaskQueue (zone.js:595)
    at ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (zone.js:500)
    at invokeTask (zone.js:1540)
    at XMLHttpRequest.globalZoneAwareCallback (zone.js:1566)

These are my packages related to the topic

"@agm/core": "1.0.0-beta.5",
"@angular/animations": "7.1.3",
"@angular/cdk": "7.1.1",
"@angular/common": "7.1.3",
"@angular/compiler": "7.1.3",
"@angular/core": "7.1.3",
"@angular/http": "7.1.3",
"@angular/platform-browser": "7.1.3",
"@angular/platform-browser-dynamic": "7.1.3",
"@angular/router": "7.1.3",
"@progress/kendo-angular-charts": "3.5.0",
"@progress/kendo-angular-intl": "1.6.0",
"@progress/kendo-angular-l10n": "1.3.0",
"@progress/kendo-angular-upload": "^4.2.2",
"@progress/kendo-drawing": "1.5.7",
"@progress/kendo-theme-material": "1.5.0",
"@progress/telerik-angular-report-viewer": "5.18.1129",
"@swimlane/ngx-datatable": "14.0.0",
"jquery": "3.2.1",
"kendo-ui-core": "2018.3.1107",
"npm": "6.5.0",
"rxjs": "6.2.1",
"rxjs-compat": "^6.0.0",
"zone.js": "0.8.26"

 

 

"@angular/cli": "7.1.3",

"typescript": "3.1.6",

"@angular-devkit/build-angular": "~0.11.0",
"@angular-devkit/core": "0.7.4",
"@angular-devkit/schematics": "0.7.4",
"@angular/cli": "7.1.3",
"@angular/compiler-cli": "7.1.3",
"@angular/language-service": "7.1.3",

Thanks,

Kanoo
Top achievements
Rank 1
 answered on 15 Jan 2019
7 answers
804 views

I have a working Silverlight web app using telerik reports. I moved it to a new server and now I get the error below.  The production web site runs on the same box as the sql server that is providing the data. At first I thought it was the connection string because there was an error in it, but I corrected that and can run the report from the dev machine using that connection string. I have ensured that the deployed application is in sync with the dev box – all files are identical.

I put logging code in the data class  for the objectdatasource that the report engine uses to retrieve data from the database and that code is never run, so it looks like the error is happening on the server somewhere after the ReportService.svc and before the telerik reports use the objectdatasource to retrieve records.

An identical deploy (with a different connection string) to a different server last week works just fine. I would think there is a file missing or an old version somewhere causing the problem but the only critical files outside of telerik are the Silverlight xap file which sets the .Report property of the ReportViewer and the DLL with the report designers and data class, and both of these files are correct and up to date, and both work from the dev box using the same connection string that points to a remote sql server.  I can preview the report from the dev box and run the application and view the reports.

So can you tell me what this error means? What is NotFound? The db server? The designer class?

To me it looks like a connection string error message – it could not find the db server, but that is very unlikely.  Is there a way to trace this out on the server?

Error: System.Reflection.TargetInvocationException : An exception occurred during the operation, making the result invalid.  Check InnerException for exception details.
   at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
   at Telerik.Reporting.Service.SilverlightClient.RenderAndCacheEventArgs.get_RenderingResult()
   at Telerik.ReportViewer.Silverlight.ReportViewerModel.OnRenderAndCacheCompleted(Object sender, RenderAndCacheEventArgs e)

------------- InnerException: -------------

System.ServiceModel.CommunicationException : The remote server returned an error: NotFound.
   at System.ServiceModel.Channels.Remoting.RealProxy.Invoke(Object[] args)
   at proxy_2.EndRenderAndCache(IAsyncResult )
   at Telerik.Reporting.Service.SilverlightClient.ReportServiceClient.OnEndRenderAndCache(IAsyncResult result)
   at System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)

------------- InnerException: -------------

System.Net.WebException : The remote server returned an error: NotFound.
   at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
   at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)

------------- InnerException: -------------

System.Net.WebException : The remote server returned an error: NotFound.
   at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
   at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState)
   at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState)

Silviya
Telerik team
 answered on 15 Jan 2019
3 answers
387 views

Hi all,

I'm new to Telerik Reporting so forgive me for my ignorance. I read this article about using SQL parameters in a report: 

https://docs.telerik.com/reporting/sql-data-source-using-parameters

But I can't get it to work and I'm wondering what I'm doing wrong. I have a simple query that looks something like this:

<p>"SELECT order_date, order_cost, order_customer</p><p>FROM orders</p><p>WHERE order_date = @OrderDate"</p>

And I set the Parameter in the database connection Name: @OrderDate; Db Type: Date; Value: = Parameters.Order_Date.Value

In the report, I created one ReportParameter, and I called it "Order_Date". It is set to AutoRefresh: True; Type: DateTime; Value: 1/6/2019; Visible: True.

When I try to execute the query from within the SQL box where I enter the parameter information, it works. But when I try to Preview the report, the wheel just turns forever and nothing ever displays and I get no error. Can someone help me figure out what I'm doing wrong? 

Silviya
Telerik team
 answered on 15 Jan 2019
0 answers
247 views

In my report, I use cross table to show my data. I set keep together to false in order to show the data to the bottom of the page. but there is no bottom line of text box (see attachment 2.png). I want to show the data like 1.png. now I add a text box in page footer, but this report is a sub report in a big report. I can not use this method to show the bottom line. how can I get it.

 

 

Vincent
Top achievements
Rank 1
Iron
 asked on 13 Jan 2019
4 answers
522 views
Hello,
I have successfully created a report in my application and I want to save it to my disk but before saving it I should be sure that the data in the report is fully loaded from the Database. The problem is that the database isn't in the local computer and I am connecting to it remotely through the internet and it takes some time to retrieve the data depending on the internet speed which is low in my country so I have to "Thread.Sleep" my application for a few seconds in order to fully load the report and the problem is i don't know how much time i need to load it so I was thinking of a way which I could check if the report is fully loaded instead of using the Sleep function. does the Telerik reporting have such a function which i could use to check the report is loaded and after that saving the report to my disk?
Thank you
K.Eshraghian
Venkat
Top achievements
Rank 1
 answered on 11 Jan 2019
1 answer
338 views

I have a Telerik.Reporting.Graph configured as a Line graph with a DateTime x-axis. Is there a way I can format the graph label so that it displays the week of the date? For example, instead of displaying a date and time, I'd like the x-axis label to display "Week 1 - 2018", "Week 2 - 2018", etc.

The formatting seems declarative without any ability to introduce customization that transforms the graph label.

I attached a screenshot for reference.

Thanks,

Jim

Todor
Telerik team
 answered on 10 Jan 2019
0 answers
130 views

We have a Telerik report in our ASP.Net MVC application and the report is rendered in the ASP.Net MVC report viewer. The MVC application is hosted in 2 servers on Azure of equal specs. Both servers show the same page load times for the reports page.
We are using same datasource to generate the report. To render the report, on one server, the control takes more than 1 minute, while the other one takes around 10 seconds. We noticed this behavior even with a very low number of records (50 - 100).

Can you advise us on what steps we can take to diagnose the performance issue we having with the Reports View Control.

Gihan
Top achievements
Rank 1
 asked on 09 Jan 2019
5 answers
453 views

I have a report that needs to be generated in large quantities and sent to clients, so performance is of utmost necessity.

I've realized by monitoring SQL Server Profiler that all the available parameter values are queried twice, causing a few milliseconds of time wasted. 

This however is not as serious as the fact that the main datasource queries are run twice as well. These cause quite a performance hit when generating reports.
After some investigation it seems that one of the tables referencing the datasource in the report is what is causing the repeat query. I find this strange since none of the subreports that use the same datasource cause the same behaviour.

The datasource value of the table is set to my maindatasource and no additional calculation is done on the data. The table literally just displays field values directly from the datasource

 Why is my database getting hit more than once to retrieve exactly the same data?

The datasource is of type Telerik.Reporting.ObjectDataSource and I'm using 2015 Q3  

Nasko
Telerik team
 answered on 09 Jan 2019
Top users last month
Tien
Top achievements
Rank 1
Iron
Krasimir
Top achievements
Rank 3
Bronze
Iron
Iron
Cedar
Top achievements
Rank 1
Iron
Emil
Top achievements
Rank 1
Iron
Kyle Watson
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?