In .NET Core the localization routines have changed and the approach to localize an application provided in the documentation doesn't work.
When adding the localized .resx files as described in the documentation - with BuildAction set to None - the resource strings cannot be obtained and even the default string values are lost. This effect can be mitigated with changing the BuildAction to EmbeddedResource.
The OpenXML renderings in .NET work with DocumentFormat.OpenXml 2.7.2 - 2.20.0
When upgrading to version 3.0.0 the Word rendering throws the following exception:
CSharp.Net7.Html5IntegrationDemo Error: 0 : System.TypeInitializationException: The type initializer for 'Telerik.Reporting.OpenXmlRendering.Wordprocessing.DocumentHelper' threw an exception.
---> System.TypeLoadException: Could not load type 'DocumentFormat.OpenXml.Packaging.ImagePartType' from assembly 'Telerik.Reporting.OpenXmlRendering.2.7.2, Version=17.2.23.1114, Culture=neutral, PublicKeyToken=a9d7983dfcc261be' due to value type mismatch.
at Telerik.Reporting.OpenXmlRendering.Wordprocessing.DocumentHelper..cctor()
--- End of inner exception stack trace ---
at Telerik.Reporting.OpenXmlRendering.Wordprocessing.DocumentHelper.CreateMainPart(WordprocessingDocument package)
at Telerik.Reporting.OpenXmlRendering.Wordprocessing.DocumentBuilder.CreateMainPart()
at Telerik.Reporting.OpenXmlRendering.Wordprocessing.DocumentBuilder.CreateBodyLayout()
at Telerik.Reporting.OpenXmlRendering.Wordprocessing.ReportWriter.WriteDocument(DocumentBuilder documentBuilder, LayoutElement layoutElement)
at Telerik.Reporting.OpenXmlRendering.Wordprocessing.WordprocessingWriter.WriteEndElement(LayoutElement source, ElementPageInfo pageInfo)
at Telerik.Reporting.BaseRendering.PageHandler.Telerik.Reporting.Paging.IPageHandler.EndElement(LayoutElement element, ElementPageInfo info)
at Telerik.Reporting.Paging.PageEndElement.OutputToPage(IPageHandler handler)
at Telerik.Reporting.Paging.PageElementsLayer.OutputToPage(IPageHandler handler)
at Telerik.Reporting.Paging.PageContent.Output(IPageHandler handler)
at Telerik.Reporting.Paging.PageCompositionBase.OutputPageContent(Stopwatch stopwatchOutputContent, PageContent pageContent)
at Telerik.Reporting.Paging.PageCompositionBase.<>c__DisplayClass124_0.<CreatePageContentOutputTask>b__0()
An error has occurred while rendering the report: System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at System.Threading.ManualResetEventSlim.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.SpinThenBlockingWait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.InternalWaitCore(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait(CancellationToken cancellationToken)
at Telerik.Reporting.Paging.PageCompositionBase.SeparateThreadOutputBehavior.Finish()
at Telerik.Reporting.Paging.PageCompositionBase.CreatePages()
at Telerik.Reporting.Paging.PagerBase.Telerik.Reporting.Paging.IPager.CreatePages(IPageHandler handler, LayoutElement root)
at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(LayoutElement root, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback, PageSettings pageSettings)
*** Render Report #0 "ReportCatalog" DONE in 00:00:00.2183346 ***
CSharp.Net7.Html5IntegrationDemo Error: 0 : An error occurred while rendering the report in separate thread: System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at System.Threading.ManualResetEventSlim.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.SpinThenBlockingWait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.InternalWaitCore(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait(CancellationToken cancellationToken)
at Telerik.Reporting.Paging.PageCompositionBase.SeparateThreadOutputBehavior.Finish()
at Telerik.Reporting.Paging.PageCompositionBase.CreatePages()
at Telerik.Reporting.Paging.PagerBase.Telerik.Reporting.Paging.IPager.CreatePages(IPageHandler handler, LayoutElement root)
at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(LayoutElement root, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback, PageSettings pageSettings)
at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)
at Telerik.Reporting.Processing.ReportProcessor.RenderCore(ExtensionInfo extensionInfo, IList`1 processingReports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
at Telerik.Reporting.Processing.ReportProcessor.RenderCore(String format, IList`1 reports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
at Telerik.Reporting.Services.Engine.ReportRenderer.Render(ReportRendererArgs args)
at Telerik.Reporting.Services.Engine.Rendering.RenderWithCulture(ReportRendererArgs args)
at Telerik.Reporting.Services.Engine.Rendering.ThreadFunc(Object o)
I would prefer my OpenXML rendering to work with the latest DocumentFormat.OpenXml version.
In the Desktop Report Designers, you may display the Text of the Tooltips on several lines by adding new lines (\n) inside the text.
In the HTML5 Viewrs, the new lines are ignored and the text is displayed on a single line. You may work around this by replacing the new lines with <br /> elements. It would be much easier for the users if this is done in the code of the viewer instead.
In Web Report Designer HtmlTextBox input is just simple TextArea. There is a great need to be able to enter rich text as in a desktop application.
https://docs.telerik.com/reporting/report-items/htmltextbox/overview
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.
Hi Team,
Currently, the Angular Report View doesn't appear to support the Ivy rendering. As of Angular 16 (released 4 days ago), the legacy rendering mode is fully removed. Which means the ReportViewer will no longer work in ng16 or later.
So this feature request is to move the ReportViewer to support Ivy (which will support Angular v9 to v16 and later).
Thank you,
Maks
Currently the generated accessible PDF documents contain tagged elements, but lack information about the logical structure of the PDF document. This prevents screen readers of correctly reading the PDF document contents. The tools like PAC (PDF Accessibility Checker) do not display correctly the document structure.
In Blazor Web Assembly you cannot host the Reporting REST Services due to technical restrictions related to the System.Drawing assemblies (GDI).
It would be very useful to have a Visual Studio project template creating only the Web Designer's Service in a separate project, so that we may use it in a web designer hosted in Blazor WASM.
The current implementation of the angular / HTML5 report viewer requires a script-src 'unsafe-eval' in a content-security-policy.
This is quite unfortunate in terms of security considerations. Please remove this requirement.
Kind regards
Claudio
We have many reports that contain grids using Table controls. We are using the HTML Report Viewer with the enableAccessibility option set to “true” to display these reports to application users.
Using this configuration, the report when run in a browser generates markup using absolutely positioned DIVs instead of TABLE tags for the grids in the report. The accessibility company provided documentation that the generated report content is in violation of WCAG 2.1 A, 4.1.2, Name Value Role since the generated report content is neither a semantic HTML table nor adheres to the ARIA table pattern.
Since Reporting Tables are rendered as DIV elements, you need to ensure they implement the following ARIA Design Pattern specifications:
Please, add a .zip or .7zip with the following content from the Telerik Reporting folder:
The XAML rendering extension, used by the WPF Report Viewer, by default checks for invalid characters while writing the XAML page contents. When the data that will be rendered on the page contains invalid Unicode characters, an exception is thrown and the report is not rendered.
The current solution is to introduce a UserFunction that parses the string contents and strips the invalid characters, but implementing and maintaining this approach requires more efforts from the developer.
An option in the XAML Device Information Settings that disables the check for invalid characters, would work in most scenarios without having to write a dedicated UserFunction. By default this option will preserve the current behavior, i.e. the characters checking will be performed, but the developers will have the ability to disable it on their own discretion.
It would be very useful if the report parameters of all the HTML5-based report viewers become accessible from the report viewer widgets.
For example, we are currently working on a report that has a custom button that sends the current parameters to an API and "signs" the current report (e.g. saves a string in the database and displays it afterward in the report).
We would like to validate if the currently shown report matches the report parameters but are unable to find a valid solution for this scenario.The Web Report Designer uses a subset of all available Kendo UI widgets. It will be useful to have a documentation article listing all of them, just as it's done for the HTML5 Report Viewer here: Kendo Widget Requirements.
This way the users will have better understanding which Kendo UI classes and components are used by Web Report Designer and will enable them making their own distribution packages when needed.
Currently we implemented the IDefinitionStorage to read and save files from azure storage
It would be nice if we could call the async methods
When designing reports with lots of parameters (which is very common for my usage), I often get error message "Missing or invalid parameter value" or "Syntax error in expression". I find it very time consuming and annoying to manually check "all" parameters in order to identify which one is causing the issue.
Would it be possible to include more details in these error messages, e.g. by including the name of the (first) incorrect parameter? Preferably for the message in report viewer / preview, but at least in the log file.
https://www.telerik.com/forums/missing-or-invalid-parameter-value-please-input-valid-data-for-all-parameters
I have encountered scenarios where I want to return different results based on fields value or some expression. While I can use nested ternary operations this is not ideal as it can be difficult to read and maintain, particular for newer report designers. It would be helpful to have SWITCH and IFS statements modeled after those provided by Excel.
SWITCH would be helpful for cases where I want to check against a few different literal values and return different results.
IFS would be helpful for cases where I want to evaluate different expressions and return different results.
Modeling these after those in Excel would be sufficient, though, for more advanced cases being able to write C# code inline with the report would be helpful (will submit as a separate request).