This behavior is observed only on Azure environment and it is working as expected on local machine.
It seems the Character ID (CID) is mapped to a wrong position visible in the inserted text and in the CMAP table and this leads to an incorrect glyph loading.
The RTF rendering automatically switches to the Tables rendering mode whenever a Crosstab/Table/List is detected in a report. This rendering mode throws an exception whenever the report contains PictureBox with one of the following sizing options.
The RTF export should work with all PictureBox sizing options regardless of the rendering mode.
To work around the issue currently, one can either force the rendering engine to use the Frames rendering mode using the RenderingMode device information property or set the Sizing property of all picture boxes in the report to AutoSize.
If I render a report that includes a HtmlTextBox item with line breaks in its value(<br />) to PDF with the Skia graphics engine and a font such as DejaVu Sans, the <br /> tags are rendered as squares.
Sample HTML:
<p>line1<br />line2<br /><i>line3</i></p>
Using a font such as Arial, there are no such issues. However, before 2024 Q4, it wasn't a problem when using the DejaVu Sans font as well.
If there are parameters which are not mandatory, the reports automatically when loaded. In actual scenarios, there may be a lot of data being processed as the parameters may be empty. Developer should have an option on report level, say, AutoRun as true or false. The developer could decide if report needs to auto run. Thanks, Jai
Currently, to customize the report engine, for example to add some custom user functions, we have to either use the app config or provide a IConfiguration to ReportProcessor constructor, which seems to set a static field for all reports, and on top of that we have to provide a whole assembly (which will load ALL non-private static methods, I did try to use typereferences instead of assemblyReferences, but that doesn't seem to work for custom functions).
Meanwhile all we needed was to expose a handful of functions. Our current workaround is to have a whole assembly dedicated to that.
It'd good to be able to:
- Specify either a single class or individual methods through the library API (e.g. reportProcessor.AddCustomFunction("name", (arg) => ...); or reportProcessor.AddCustomFunctions(typeof(MyCustomFunctions);)
- Avoid using static state (it limits how the library can be used and, more importantly, tested)
- Maybe have a way to provide a Service Provider, that Telerik library would use to create services/classes and pull IConfiguration from, especially those we provide, that way the custom functions could use services from our application, rather than using all static methods.
Thank you,
The report items that have explicitly set background in the report definition are not highlighted by the Search functionality of the viewer when their content matches the search.
Reproducible with Blazor Native Report Viewer.
Partially reproducible with HTML5 Viewer - the highlighted (when selecting the item in the Search list) class is applied but the shaded is not.
The workaround is to use the following styles on the page with the viewer:
<style>
.trv-report-viewer-wrapper .trv-search-dialog-highlighted-result {
background-color: rgba(0, 35, 102, 0.3);
color: #fff;
background-image: none;
}
.trv-report-viewer-wrapper .trv-search-dialog-shaded-result {
background-color: rgba(255, 140, 0, 0.3);
}
</style>
I have a calculated field of type Decimal where I may dynamically return 0 in some of the rows of data.
If this happens with the first data row, it will not respect the selected data type and will instead infer that the type of data is an integer.
If I use this calculated field in an aggregate function such as Sum(), since the type of the first value will be integer, it will treat the other values as integers as well and the total sum will be incorrectly aggregated.
Reproducible in version: 18.2.24.924 +
Not reproducible in version: 18.2.24.806
Description
In releases before 18.2.24.924 it was enough to open dll with types from SRD in order to be able to import the type reports. Currently, this is possible only if you copy the dll next to SRD exe file and add entry in Assembly References for the dll.
Steps To Reproduce
Build the project CSharp.ReportLibrary.csproj in C:\Program Files (x86)\Progress\Telerik Reporting 2024 Q4\Examples\CSharp.NET Framework\ReportLibrary
Start SRD FF and from Open menu select the CSharp.ReportLibrary.dll dll in C:\Program Files (x86)\Progress\Telerik Reporting 2024 Q4\Examples\CSharp.NET Framework\ReportLibrary\bin\Debug
Expected behavior
Something like "Please add first Assembly reference to the dll... from ...". Or even better. Do you allow the assembly ... to be loaded? And we can add the assembly reference instead of the customer.
Actual behavior
TypeReference error.
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!
If you have the latest Telerik.Reporting NuGet package (18.3.24.1112) installed simultaneously with the Telerik.Documents.Fixed NuGet package, indeed, the compile time error occurs:
The type 'Size' exists in both 'Telerik.Documents.Core, Version=2024.4.1106.20, Culture=neutral, PublicKeyToken=5803cfa389c90ce7' and 'Telerik.Reporting, Version=18.3.24.1112, Culture=neutral, PublicKeyToken=a9d7983dfcc261be'
This undesired behavior is not reproducible with the previous version of Telerik Reporting. This is caused due to the fact that Telerik.Documents.Primitives.Size is contained in both assemblies/packages.
Workaround: Resolving Compile Time Error with Telerik.Documents.Fixed and Telerik.Reporting after Upgrading to Q4 2024
When I try to open the edit dialog for a report parameter from the Report Explorer in the .NET Standalone Report Designer, the dialog does not open.
The same appoach works as expected with the .NET Framework Standalone Report Designer.
As an alternative for the .NET Standalone Report Designer, the second approach from the ReportParameter Collection Editor at a Glance - Telerik Reporting article may be used.
I export the same TRDP report that embeds a Bitmap image on Windows with GDI and on Linux Docker Container.
The result PDF file from the Linux environment is much bigger than the one generated on Windows.
1. The design-time preview of the HtmlTextBox throws the "Name cannot begin with the '>' character..." error when the not equal (<>) operator is used in the value expression as it incorrectly tries to parse the operator as HTML markup. The standalone designer does not have a design-time preview for the HtmlTextBox and the issue is not present there.
This does not affect the actual preview of the report and can be worked around by negating the equal (=) operator using the Not operator instead.
2. The design-time preview of the PictureBox throws a null reference exception when it has a binding that changes its value based on one of the fields from the data source. The preview incorrectly tries to respect this binding which will not work in design time as the data is not fetched at this point. Instead, the design-time preview should use the default value from the Value property of the PictureBox, which is what the standalone designer does.
This does not affect the actual report preview.
3. The design-time preview of an HtmlTextBox located in a data item throws a null reference exception when it has a conditional formatting rule that changes the appearance of the HtmlTextBox based on the RowNumber data function. Again, this function cannot be executed successfully during design time as the data is not available yet.
Since this issue is also related to the preview during design time, it does not affect the actual report preview either.
The ReportsControllerBase is returning a JSON payload of { "InstanceId": "xxxx" } instead of { "instanceId": "xxxx" } that the Html5 ReportViewer is expecting. I believe the CreateInstance method should be using CreateJsonResponse instead of CreateResponse. I overrode the ReportsControllerBase.CreateInstance like the following to get it working again:
response = base.CreateInstance(clientId, reportSource);
// This is to work around a bug in telerik reporting.
BusinessLogicResponse v = BusinessLogicResponse.CreateInstance(HttpStatusCode.Created, ((ObjectResult)response).Value);
response = base.CreateJsonResponse(v);
Even though I set "parametersAreaVisible" to false, the parameter area is still visible. A bit of tweaking.
Let me make a change request in the telerikReportViewer-18.3.24.1112.js file:
function showParametersAreaIfNecessary(params) {
parametersAreaNecessary = hasVisibleParameters(params) || !controller.isReportAutoRun();
showParametersArea(parametersAreaVisible && parametersAreaNecessary);
}
I have overridden the SendMailMessage method of the ReportsController to implement the email-sending functionality of the web report viewers.
However, despite the method being implemented in my controller, inheriting from the ReportsControllerBase class, the method is never hit, and instead, I get a 501 Not Implemented response.