In some cases, the engine will not render the graph and will instead display the message
The current NumericalScale settings would result in more than 1000 labels which will make the scale unreadable. Please set the axis/ grid lines visibility to False or change the corresponding property.
The reason to see this or similar messages is that the selected LabelStep, MajorStep, or MinorStep scale property has a value that is too small and the processing engine will violate the previously mentioned constraint numbers.
The issue is fixed by manually correcting the values for those properties but I wish that the automatic configuration would be better.
please please put OR operator in Report designer data-source query.
For years users request and ask same question and still (in 2021) Report designer doesn not support OR query.
You can manually enter OR operator in sql-query, but then you cannot use the designer. :(((
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.
I have projects on .NET Core and I want to use the System.Text.Json serializer that is the new default, but reporting relies on Newtonsoft.Json.
---
ADMIN EDIT
There are two approaches that can be taken right now to solve this:
OPTION 1: define separate endpoints (services, projects) for the different tasks - they can still use the same database layer through a shared project, depending on the architecture you have. This would let you have separated services with the appropriate serializers without custom attributes and code (see below). For example, create a separate project for the reporting REST services.
OPTION 2: add some custom decoration on the endpoints so you can choose which serializer is used on each, you can find some examples here: https://stackoverflow.com/questions/59650907/how-to-configure-two-json-serializers-and-select-the-correct-one-based-on-the-ro - the point being to register a serializer depending on the endpoint based on your own code rather than let the framework put one in for all endpoints.
NOTE: This would be a breaking change.
---
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.
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).
When there is a combination of Arabic and English text in any control and if the font family is set to "Calibri", exporting to PDF results in the following error in the stack trace:
Telerik.ReportDesigner.exe Error: 0 : System.NullReferenceException: Object reference not set to an instance of an object.
at Telerik.Documents.Fixed.Fonts.OpenType.Tables.MultipleSubstFormat1.Apply(GlyphsSequence glyphIDs)
at Telerik.Documents.Core.Fonts.OpenType.Tables.Lookup.Apply(GlyphsSequence glyphIDs)
at Telerik.Documents.Fixed.Fonts.OpenType.Tables.ChainedSequenceContextFormat3.ApplySubstitution(GlyphInfo glyphInfo)
at Telerik.Documents.Fixed.Fonts.OpenType.Tables.ChainedSequenceContextFormat3.Apply(GlyphsSequence glyphIDs)
at Telerik.Documents.Core.Fonts.OpenType.Tables.Lookup.Apply(GlyphsSequence glyphIDs)
at Telerik.Documents.Core.Fonts.OpenType.Tables.Features.FeatureInfo.ApplyLookup(Lookup lookup, GlyphsSequence glyphIDs)
at Telerik.Documents.Core.Fonts.OpenType.Tables.LangSys.Apply(GlyphsSequence glyphIDs)
at Telerik.Documents.Core.Fonts.OpenType.OpenTypeFontSourceBase.ApplySubstitutions(UnicodeRange range, List`1 glyphInfos)
at Telerik.Documents.Core.Fonts.OpenType.OpenTypeFontSourceBase.TryGetGlyphIds(String text, UInt16[]& glyphIds)
at Telerik.Reporting.Pdf.PdfFontDictionary.AddChars(String text)
at Telerik.Reporting.Pdf.Rendering.PdfRenderer.DrawString(String text, PdfFont pdfFont, IBrush brush, RectangleF rect, Boolean rightToLeft)
at Telerik.Reporting.ImageRendering.CanvasPdf.DrawRegularChunk(String text, StringChunkContext context)
at Telerik.Reporting.ImageRendering.CanvasBase.DrawStringMultiline(String s, StringChunkContext context, Boolean isFinalTextChunk)
at Telerik.Reporting.ImageRendering.DocumentBase.WriteText(String text, RectangleF bounds, IFont font, Color foreground, TextFormat format, MatrixBase transform, Boolean isFinalTextChunk)
at Telerik.Reporting.Writing.TextBoxWriter.WriteContent(DocumentWriter writer, TextBox textBox, ElementPageInfo pageInfo)
at Telerik.Reporting.Writing.ProcessingContentElementWriter`1.WriteElement(T element, ElementPageInfo pageInfo, DocumentWriter writer)
at Telerik.Reporting.Writing.WriteOperationsDispatcher.Visit(TextBox textBox)
at Telerik.Reporting.Processing.ProcessingElementVisitor.Visit(LayoutElement element)
at Telerik.Reporting.Writing.DocumentWriter.Telerik.Reporting.BaseRendering.IWriter.WriteStartElement(LayoutElement element, ElementPageInfo pageInfo)
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()
If we change the font family to "Arial" the report is exported to PDF correctly.