We have spotted that PInvoke is now marked as deprecated (this applies even to the latest 0.7.124 version). In the description of the PInvoke.User32 NuGet package, it is mentioned that Microsoft.Windows.CsWin32 should be used instead:
Please consider replacing the deprecated package.
I am using the Standalone Report Designer for .NET to open a code-based report from an application that was migrated from .NET Framework. Before the migration, function calls defined in the designer.cs file were preserved and evaluated at runtime as expected. However, after migrating to the code-based reports functionality supported by the Standalone Report Designer for .NET, these function calls are evaluated immediately during the report import process, and the resulting values are then serialized and stored in the report definition.
It would be nice if the function calls were preserved in the imported report, allowing them to be evaluated later at runtime, as their return values may change depending on the execution context.
I have noticed that the performance of exporting reports has gotten worse in recent releases. After investigating, I found out that this is likely caused by the sheer size of the code in my projects.
To prove this, I created a simple application that renders a report to PDF programmatically. Then, I created 10 000+ dummy classes in the same project, and tried rendering the report again. The performance was noticeably impacted by this change.
The bug has two requirements for occurring:
When those two conditions are met, the report will fail to render, and an error message stating that one of the numeric values in the report cannot be parsed. For example, the message may look like this:
One or more errors occurred. (The numeric portion of 170.01mm cannot be parsed as a unit of type Mm.)
To avoid the issue, slightly decrease the width of the item so that it does not occupy the full width of the report section. If Docking is used, disable it, or wrap the docked item in a smaller container.
Alternatively, a culture with a dot-based decimal separator may be used.
Currently, when you set SplitWorksheetOnPageBreak to True, the Excel Sheet name is formed from the DocumentName or ReportName and the number of the page.
It would be very helpful if the report authors can manipulate these names with Expressions.
I installed Reporting on my Windows without a database server. I chose to install with the examples so I can later provide a valid connection string for them.
Here is the connection string from the XML configuration that breaks the Standalone Report Designer applications:
<connectionStrings>
<clear/>
<add name="Telerik.Reporting.Examples.CSharp.Properties.Settings.TelerikConnectionString" connectionString="Data Source="No Local Servers Found!";Initial Catalog=AdventureWorks;Integrated Security=True;Password=" providerName="System.Data.SqlClient"/>
</connectionStrings>Note the quotation marks inside the DataSource value that make the XML invalid.
Previously, the same scenario resulted in the following connection string that didn't break the XML structure:
<connectionStrings>
<add name="Telerik.Reporting.Examples.CSharp.Properties.Settings.TelerikConnectionString"
connectionString="Data Source=No Local Servers Found!;Initial Catalog=AdventureWorks;Integrated Security=SSPI"
providerName="System.Data.SqlClient" />
</connectionStrings>Currently, to start the designers, I must fix the configuration files manually or install the Reporting without examples.
The issue is caused by an issue in the SQL DataSource Wizard that doesn't provide the correct Data Provider name. In the wizard on the first page, the Data Provider must be MySql.Data.MySqlClient, but the option is limited only to MySql.Data. Since the engine cannot determine the type of the data provider by that name, it falls back to System.Data.SqlClient and claims that "Port" is not a supported keyword.
The workaround is to avoid using the SQL DataSource wizard and edit the data source properties directly in the properties grid. You can check the attached silent video that demonstrates how to do so.When a Table has a Group PageBreak that splits the Table into more than one page, the items below the table are rendered after the first part of the Table (after the first page break), rather than under the whole table.
The issue occurs in hard pagination: PrintPreview of the viewers, PDF, etc.
After upgrading Telerik.ReportViewer.BlazorNative to version 20.2.26.1007, rebuilding a project targeting .NET 9 or later fails with the following error:
Severity Code Description Project File Line Suppression State
Error (active) The asset 'C:\...\BlazorApp1\Debug\net10.0\compressed\14jp1i84hx-{0}-2x8nbomfaf-2x8nbomfaf.gz' can not be found at any of the searched locations 'C:\Users\<user>\.nuget\packages\telerik.reportviewer.blazornative\20.2.26.1007\staticwebassets\css\reporting-blazor-viewer.css.map' and 'C:\Users\<user>\.nuget\packages\telerik.reportviewer.blazornative\20.2.26.1007\staticwebassets\css\reporting-blazor-viewer.css.map'. BlazorApp1 C:\Program Files\dotnet\sdk\10.0.301\Sdks\Microsoft.NET.Sdk.StaticWebAssets\targets\Microsoft.NET.Sdk.StaticWebAssets.Compression.targets 276
-----------------------------------------------------------------------------------
The issue occurs because the NuGet package declares a CSS source map as a static web asset but does not include the corresponding file.
For the available workarounds, refer to the following Knowledge Base article: Missing CSS source map causes build failure in .NET 9 and later with Telerik.ReportViewer.BlazorNative 20.2.26.1007
The data source preview in the web report designer does not show the full shape of the query. It has no horizontal scroll bar to verify the preview data for the entire projection.
Please consider addressing this.
I use Zoom in my report definitions, which I edit with the Standalone Report Designers. The TRDP and TRDX reports work fine with Zoom. However, if I save a report with a non-default Zoom (e.g., 4.0) to the new TRDJ format, then I cannot open this report in the designer.
Here is the exception when trying to open the TRDJ report:
System.ArgumentException: Object of type 'System.Double' cannot be converted to type 'System.Single'.
at System.ComponentModel.ReflectPropertyDescriptor.SetValue(Object component, Object value)
at Telerik.Reporting.Serialization.ObjectReader.ReadValue(Object obj, PropertyDescriptor prop)
at Telerik.Reporting.Serialization.ObjectReader.ReadAttributes(Object obj, PropertyDescriptorCollection props)
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.JsonSerialization.JsonSerializer.Deserialize(String value, IResourceHandler resourceHandler)
at Telerik.ReportDesigner.Packages.ReportDesigner.Serialization.JsonDocDataHandler.<>c__DisplayClass8_0.<DeserializeReport>b__0()
at Telerik.Reporting.Interfaces.IAnalyticsExtensions.UseFeature[T](IAnalytics analytics, Func`1 func, String featureName, String featureCategory, Field[] extraParams)
at Telerik.ReportDesigner.Packages.ReportDesigner.Serialization.JsonDocDataHandler.DeserializeReport(IDesignerLoaderHost targetHost)
at Telerik.ReportDesigner.Packages.ReportDesigner.Serialization.ReportDocumentDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
We render reports to PDF with ReportProcessor.RenderReport, and several renders run in parallel in the same process (background jobs). Occasionally the report items show this error inside the generated PDF instead of their values: "An error has occurred while processing TextBox 'textBox8': Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct."
Exception and stack trace:I use the Verdana font in CheckBox items.
In HTML5 and Blazor Report Viewers, the characters like 'p', 'q ', and 'y' appear cut off, just like in this issue:
The workaround with top and bottom padding doesn't work for CheckBox, though.
At the moment it's only possible to have your reports in old-fashioned projects.
It should be possible to add/design reports to SDK-style projects. That should work no matter what target framework is (.NET Core, .NET Standard or .NET Framework).