The native Angular Report Viewer does not expose a 'setReportSource' or similar method that can be used to update the reportSource object of the viewer after initialization.
This means that the parameters or the report loaded by the viewer cannot be changed in code and I have to expose the report parameters and use Navigate To Report actions for loading different reports.
Previously, the Processing.PictureBox property Image required a System.Drawing.Image.
Starting with R3 2023 it requires Telerik.Drawing.IImage, and throws the exception:
Cannot implicitly convert type 'System.Drawing.Image' to 'Telerik.Drawing.IImage'. An explicit conversion exists (are you missing a cast?)
The Upgrade Wizard throws an error when upgrading projects containing reporting-related JS/CSS/etc. report viewer files. For example:
Could not find file 'C:\Program Files (x86)\Progress\Telerik Reporting R3 2023\Html5\ReportViewer\js\telerikReportViewer.kendo-17.2.23.1010.min.js'.The files in question are present in the expected directory but they no longer have the version number suffix in their names ('-17.2.23.1010' in the example above). Copying the files and adding the suffix to the copies resolves the issue.
Output with Skia in Linux Docker:
Expected output (Skia/GDI in Windows):
I am rendering Telerik reports (version 17.2.23.1010) with custom code on Linux Docker in .NET 7 with SkiaSharp. When I have Grouping in the Report, I receive the following exception:
An unhandled exception has occurred while executing the request.
System.PlatformNotSupportedException: System.Drawing.Common is not supported on this platform.
at System.Drawing.ToolboxBitmapAttribute..ctor(Type t, String name)
at System.Reflection.CustomAttribute._CreateCaObject(RuntimeModule pModule, RuntimeType type, IRuntimeMethodInfo pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs)
at System.Reflection.CustomAttribute.AddCustomAttributes(ListBuilder`1& attributes, RuntimeModule decoratedModule, Int32 decoratedMetadataToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, ListBuilder`1 derivedAttributes)
at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType)
at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit)
at System.Attribute.GetCustomAttributes(MemberInfo element, Type attributeType, Boolean inherit)
at System.ComponentModel.ReflectTypeDescriptionProvider.ReflectGetAttributes(Type type)
at System.ComponentModel.ReflectTypeDescriptionProvider.ReflectedTypeData.GetAttributes()
at System.ComponentModel.TypeDescriptor.DefaultTypeDescriptor.GetAttributes()
at System.ComponentModel.TypeDescriptor.GetAttributes(Type componentType)
at System.ComponentModel.ReflectTypeDescriptionProvider.ReflectedTypeData.GetConverter(Object instance)
at System.ComponentModel.TypeDescriptor.DefaultTypeDescriptor.GetConverter()
at System.ComponentModel.TypeDescriptor.GetConverter(Type type)
at System.ComponentModel.PropertyDescriptor.get_Converter()
at Telerik.Reporting.Serialization.ObjectReader.ReadProperty(Object obj, PropertyDescriptor prop, Type propType)
at Telerik.Reporting.Serialization.ObjectReader.ReadProperties(Object obj)
at Telerik.Reporting.Serialization.ObjectReader.ReadObject(Type type)
at Telerik.Reporting.Serialization.ObjectReader.ReadXmlElement(String name)
at Telerik.Reporting.Serialization.ObjectReader.ReadCollection(Object collection)
at Telerik.Reporting.Serialization.ObjectReader.ReadProperties(Object obj)
at Telerik.Reporting.Serialization.ObjectReader.ReadObject(Type type)
at Telerik.Reporting.Serialization.ObjectReader.ReadXmlElement(String name)
at Telerik.Reporting.Serialization.ObjectReader.Deserialize(IResourceHandler handler)
at Telerik.Reporting.XmlSerialization.XmlSerializerBase.Deserialize(XmlReader reader, IResourceHandler resourceHandler)
at Telerik.Reporting.XmlSerialization.XmlSerializerBase.Deserialize(Stream stream, IResourceHandler resourceHandler)
at Telerik.Reporting.XmlSerialization.ReportXmlSerializer.Telerik.Reporting.ReportSerialization.IXmlSerializer.Deserialize(Stream stream, IResourceHandler resourceHandler)
at Telerik.Reporting.ReportPackager.UnpackageDocument(Stream packageStream)Without Grouping the report is rendered fine on Linux.
On Windows, everything runs fine as well.
Since R3 2023, all HTML5IntegrationDemo examples found in the Telerik Reporting installation directory (C:\Program Files (x86)\Progress\Telerik Reporting R3 2023\Examples\CSharp) target .NET 6.
To work around the issue, open the .csproj file of each demo and set the target framework to the corresponding version.
Adding a custom font as PrivateFont in the appssettings.json is not respected.
When the font is installed, it works also for the report in the viewer.
The issue may be reproduced with the Reporting WinUI example for .NET 6.
The Stack Trace states:CSharp.Net6.WinUIIntegrationDemo Warning: 0 : A font family for font "MICR" cannot be found. Exception: Font 'MICR' cannot be found. Font 'MICR' is substituted with font 'Microsoft Sans Serif'.
I have a Multivalue Report Parameter in the report that gets fed by a data source and may have more than 1000 selectable values. It is a ComboBox.
When I search and select a value from the dropdown, the selected value may not be passed with the reportSource of the viewer if I click directly the Preview button, without clicking outside the selection popup first. The issue occurs randomly. If I click outside the popup first, the values are passed correctly. I cannot reproduce the issue with less selectable items.
On .Net 6, exporting html5 produces multiple html files including a single report having multiple pages are split into multiples. Could we please have the feature similar to MHTML export in the previous .net versions supported. This is a breaking change when upgrading to .Net 6.
Thanks!
It would be nice if we could subscribe to events such as
I had a report book with only a TOC report and when I previewed it, I was met with an "Object reference not set to an instance of an object" exception which did not make it clear what was causing the issue losing me a lot of time in debugging.
Once I added a report to my ReportBook the issue was resolved, however, the error message should be more meaningful.
Need to allow Excel Export with 10.1.16.615 version on FIPs enbled
Hi Team,
I had tried with the provided post as below with DocumentFormat.openXML.dll verison (2.5) but not working .
please help to resolve this ASAP.
===
Based on what you described and the ticket info, I am assuming that you are getting this error when you render a report in the Excel 97-2003 (XLS) format. Is that correct?
Unfortunately, this is a known limitation of the Excel 97-2003 rendering, and exporting a report to XLS in FIPS-enabled environments will fail. Considering this, I suggest choosing one of the following options for exporting reports to Excel:
If choose the first option, you can disable the older Excel rendering format so that it is not available as an option when the report is displayed in a report viewer. For example, the following code can be put into the web.config/app.config of the project:
<configuration>
<configSections>
<section
name="Telerik.Reporting"
type="Telerik.Reporting.Configuration.ReportingConfigurationSection, Telerik.Reporting"
allowLocation="true"
allowDefinition="Everywhere"/>
</configSections>
...
<Telerik.Reporting>
<extensions>
<render>
<extension name="XLS" visible="false">
</extension>
</render>
</extensions>
</Telerik.Reporting>
...
</configuration>I hope this helps, please let me know if you have any additional questions. Thank you for trying Telerik Reporting!
Regards,
Dimitar
Progress Telerik
When the service of the Web Report Designer is running in a .NET Framework application, the preview page of the WebServiceDataSource component displays [object Object] instead of the data string.
The WRD front end expects the ReportDesignerController's PreviewWebServiceData(DataSourceInfo) method to return stringified JSON but instead, it currently(R3 2023) returns a JSON.
As a workaround, the method can be overridden so that the string result is returned instead:
public override IHttpActionResult PreviewWebServiceData(DataSourceInfo dataSourceInfo)
{
var baseResult = (ResponseMessageResult)base.PreviewWebServiceData(dataSourceInfo);
var jsonString = baseResult.Response.Content.ReadAsStringAsync().Result;
return Ok(jsonString);
}
When using the HTML5 Report Viewers, if I override the GetDocumentFormats() method of the ReportsController and return a localized list, the export dropdown in the toolbar is still populated with the default values.
On the other hand, the available export formats list is respected in the email dialog.
In both scenarios, the dropdown with the rendering formats should respect the overridden method's return value.
For my Object Data Source, I am using a nuget package that has a dependency on Microsoft.Extension.Primitives. The custom assembly is correctly registered in the designer's configuration file and the DLLs are copied to the Report Designer (.NET version) directory. I get this error:
Telerik.Reporting.Expressions.InvalidExpressionException: An error has occurred while executing function UsePrimitives(). Check the InnerException for more information. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Extensions.Primitives, Version=3.1.18.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. Could not find or load a specific file. (0x80131621) File name: 'Microsoft.Extensions.Primitives, Version=3.1.18.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' ---> System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Extensions.Primitives, Version=3.1.18.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. at System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(IntPtr ptrNativeAssemblyLoadContext, String ilPath, String niPath, ObjectHandleOnStack retAssembly) at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath) at System.Reflection.Assembly.LoadFrom(String assemblyFile) at System.Reflection.Assembly.LoadFromResolveHandler(Object sender, ResolveEventArgs args) at System.Runtime.Loader.AssemblyLoadContext.InvokeResolveEvent(ResolveEventHandler eventHandler, RuntimeAssembly assembly, String name) at System.Runtime.Loader.AssemblyLoadContext.OnAssemblyResolve(RuntimeAssembly assembly, String assemblyFullName) at ClassLibrary1.Class1.UsePrimitives() --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at Telerik.Reporting.Expressions.FunctionNodeEval.Eval(Object row, Object context) --- End of inner exception stack trace --- at Telerik.Reporting.Expressions.FunctionNodeEval.Eval(Object row, Object context) at Telerik.Reporting.Expressions.EvalObject.Eval(ExpressionNode expressionNode, Object data, Object context) at Telerik.Reporting.Processing.ProcessingElement.Evaluate(Object value, Object data, EvalObject evalObject) at Telerik.Reporting.Processing.ProcessingElement.Evaluate(Object value) at Telerik.Reporting.Processing.TextBox.ProcessItem() at Telerik.Reporting.Processing.ReportItemBase.ProcessElement() at Telerik.Reporting.Processing.ProcessingElement.Process(IDataMember dataContext)
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.So there is an Angular report viewer of sorts, but the report viewer web api component doesn't work with .net core (must target 4.6.1) and the angular component doesn't work with universal/server side rendering. It would be great if this could get fixed!