To help troubleshoot and solve many of my positioning issues I've viewed and edited a report's XML file.
The process requires us to download the report, change the report file to [*.zip], extract [definition.xml], open and edit the file, replace the XML file in the ZIP file, rename the file, upload the new file into Telerik reporting to see one edit.
Being able to view and edit the [.xml] directly in our Telerik Web Designer would be greatly appreciated.
Currently, the Map's TileProvider UrlTemplate property may be set only to a hard-coded string. It would be very useful to be configurable as an Expression to allow for dynamic values.
It would be lovely to be able to string multiple emails in the "To" and "CC" fields so users could email a batch of users at once. In my scenario there is an email distro group that needs to get a report when printed. I could write logic to pass multiple email accounts into the "CC" field, however, the functionality doesn't exist. Below is a visual example of what I'd like to achieve.
Running the Native Blazor Viewer page VS item template in a project that has authentication and authorization configured, breaks the application.
If the application contains an authorize attribute in its _Imports.razor file, the Reporting-related usings are placed in the middle of it.
@attribute [Authorize@using Telerik.Blazor @using Telerik.Blazor.Components @using Telerik.ReportViewer.BlazorNative ]
Additionally, the declaration that introduces the EndpointMiddleware in the Program.cs file of the application is added directly after the UseRouting declaration. This breaks applications that already have the UseAuthentication and UseAuthorization declarations because the UseAuthorization call needs to appear between the UseRouting and UseEndpoints calls.
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
// ...
});
app.UseAuthentication();
app.UseAuthorization();
Currently, the desktop viewers don't allow adding custom headers to their requests to the service.
In HTML5-based web viewers, this is possible through the AjaxPrefilter event.
As documented slightly comically here: https://www.telerik.com/forums/can-not-for-the-life-of-me-get-a-report-to-run , and confirmed by other users on that thread, Telerik reporting can be incredibly unintuitive in the configuration steps.
Having just been through the wringer yet again - I just wanted to copy the configuration from one working project to another, and it's taken me about 6 hours of tearing my hair out to get it working, I'm giving some suggestions for improving this. These really are bugs, not features, hence the bug report.
My use case is the HTML5 report viewer running off the REST service in dotNet 6.
(1) Try systematically breaking one component at a time of the configuration, and check that the error message is correct.
eg. in builder.Services.AddControllersWithViews().AddNewtonsoftJson();
if .AddNewtonsoftJson() is left out, we get the error:
Cannot access the Reporting REST service. (serviceUrl = '/api/TelerikReportHandler/'). Make sure the service address is correct and enable CORS if needed. (https://enable-cors.org)
It is almost impossible to diagnose this - there is no reason that error could not indicate that NewtonsoftJson is not available. I working it out by going through the white paper, and thought 'that's in there but it's surely not going to fix that error message' but I added it anyway and hey presto, fixed.
Another example, not having the .css file referenced correctly in the HTML file referencing the viewer template, displayed a message telling me that the report viewer did not match the REST service version number, a completely incorrect error. Again, I realised the error, thought 'there is no way this is going to fix it', and it did. That's how misleading the errors are.
(2) Don't cache everything
Once I finally got it all working, I decided to break things deliberately to get the error messages so I could record them for my information next time I have to go around this loop. However, I then found that nothing on the client side could be broken. That .css file that was missing a minute ago and causing the error, now I could delete it completely and the reports ran just fine. I could delete the entire template folder and same behaviour, even after closing and restarting the project.
So clearly, once it's working your code is caching the files and/or config internally somewhere. That's a really, really astoundingly bad idea.
The reason I had all these problems in the first place was that I copied all the configuration code and files from a working project, and then the project I copied it to didn't work. I triple checked everything. No go.
I now realise that the working project had probably cached all the files it needed, but then I must have updated the project with non working files, but the project ignored all that and continued to work with its cached files. When I copied the files to a new project, only then did the problem become evident. This is incredibly unintuitive, frustrating and undocumented.
Telerik is not a bad product, but I have never failed to take less than half a day every time I have needed to change anything. If I thought the competitiors were any better, I'd jump ship but frankly I think they're all probably the same.
But if you took this advice, the process would become way, way easier to work through. All we need is good, clear, specific error messages and, for the love of god, *no* caching.
The following warning is shown in the browser console when starting my Blazor application when I use the native Blazor Report Viewer:
WARNING: Processing source-maps of https://localhost:7025/_content/Telerik.ReportViewer.BlazorNative/js/reporting-blazor-viewer.js took longer than 11000 ms so we continued execution without waiting for all the breakpoints for the script to be set.Could not read source map for https://localhost:7025/_content/Telerik.ReportViewer.BlazorNative/js/reporting-blazor-viewer.js: Unexpected 404 response from https://localhost:7025/_content/Telerik.ReportViewer.BlazorNative/js/reporting-blazor-viewer.js.map:
If I do not have any report opened in the Web Report Designer, and then open the Asset Manager, I am not able to close the Asset Manager afterward.
Instead, when I click on the 'X' button to close the Asset Manager screen, I get the following error:
Uncaught TypeError: this.designSurfaceManager.ActiveDesignSurface is null
updatePreviewButtonState http://localhost:51864/api/reportdesigner/designerresources/js/webReportDesigner-17.1.23.718.min.js/:9
restoreMainMenu http://localhost:51864/api/reportdesigner/designerresources/js/webReportDesigner-17.1.23.718.min.js/:9
createAssetManagerOverlay http://localhost:51864/api/reportdesigner/designerresources/js/webReportDesigner-17.1.23.718.min.js/:9The 'Workspace Preferences' view also cannot be loaded in this scenario(no report).
In PDF rendering, my SVG image does not get clipped according to the design-time look of the report while in Excel(XLSX), the same SVG content appears almost correctly.
I'm changing the font color to Transparent based on a condition in my report.
This works in the Standalone Designers for .NET and for .NET Framework.
In the WPF Report Viewers for .NET and .NET Framework though the Transparent color is not respected. Other Font colors like green are properly shown conditionally in the WPF viewers.
It would be very convenient if we could just right-click on a calculated field, such as "Period" in the screenshot below, and be able to modify the existing expression (within a context window)
Instead, I now have to do the following:
1. Click on the Data Source
2. Click on the ellipses button within the "Calculated Fields" property of the Data Source's properties
3. Find the desired expression within the "Edit Calculated Fields" window
4. Click on the expression's drop-down and select <Expression>
That's a lot of clicks for something that is done rather frequently!
In the PDF rendering engine, clipping SVGs is not supported out-of-the-box. Instead, the whole SVG content is rendered without applying any clipping which can lead to differences between previewing the report in the report designer and when exported to PDF. For example:
In design
In the report preview.
In the PDF file.
When I have a report that uses the Shape Report Item and I export it to Excel(XLSX) in Linux, upon opening the Excel file, I am met with the following warning:
We found a problem with some content in "Report.xlsx". Do you want us to try to recover as much as we can? If you trust the source of this workbook, click Yes
If cells grow or shrink, if there are hidden cells, any time a report section grows vertically, the next section/table is not respecting the growing of the previous item and text prints in the wrong spot or the table overlaps the previous table.
A potential workaround is to manually convert the troublesome tables to lists where possible.
The DocumentMapVisible settings that I set in the initialization of the WPF Report Viewer are not respected.
I can hide/show these areas from the buttons in the report viewer's toolbar but am unable to have them hidden initially.
Currently, the only workaround is to set an event on this.ReportViewer1.RenderingEnd += ReportViewer1_RenderingEnd;
private void ReportViewer1_RenderingEnd(object sender, Telerik.ReportViewer.Common.RenderingEndEventArgs args)
{
this.ReportViewer1.DocumentMapVisible = false;
}
I installed the @progress/telerik-angular-report-viewer - npm (npmjs.com) package of version 19.23.718 in my project and noticed that the viewer's SASS template uses incorrect versions for its resource references.
<link href="{service}resources/font/fonticons-17.1.23.719.css/" rel="stylesheet" />
<link href="{service}resources/styles/telerikReportViewer-17.1.23.719.css/" rel="stylesheet" />For the template to work with a Reporting service of the latest version(17.1.23.718), the template must be edited.