Unplanned
Last Updated: 03 Aug 2021 21:00 by ADMIN

Hello, 

I am using the Blazor Web Report Designer on a page that is not the default route, i.e. "/". When I am at step 2 in the WebServiceDataSource wizard to add parameters, if I click the Add Parameter button it routes to the home page. 

I believe this is caused by the href="#' empty route. Below is an animation of what I mean. This is also reproduced in the BlazorIntegrationDemo in the installation directory.

 

ea14844d-c61e-4dd7-a8c4-151c472ba700_add-parameter-click-issue.gif (1920×866)

Unplanned
Last Updated: 30 Jul 2021 08:09 by ADMIN
When using the HTML5 ReportViewer with the SmartAdmin and viewing on an iPad in "Desktop Website" navigating via the menu is not possible.  Changing to "Request Mobile Website" automatically enables the menu to work again. 
Unplanned
Last Updated: 28 Jul 2021 10:24 by ADMIN

We use Html Report viewer for rendering reports based on Telerik Reporting.

We observe the following issue with report parameters with AvailableValues configured and Multivalue = true:

When there are one or more items from the available options selected - manually unselecting all of them leads to rendering a report as if the last unselected option is still selected leading to wrong result

 All other operations over the multivalue parameter work fine.

The issue occurs only in List type Parameter editors. With ComboBox editors this works as expected.

Unplanned
Last Updated: 23 Jul 2021 15:05 by ADMIN

The default value of the report property SkipBlankPages is True and when there is an error in the report, for example, due to a problem with the connection to the database, the error message may be hidden as the report is not rendered at all.

The report should be rendered in order to display the error message also when SkipBlankPages is True.

Completed
Last Updated: 16 Jul 2021 08:45 by ADMIN
Release R2 2021 SP1 (Latest Internal Build)

Generated PDFs do not have bookmarks in R2 2021 unless there is a TOC section in the report.

By setting the device info setting "ProcessItemActions", the generated PDFs have bookmarks again.

var reportProcessor = new Telerik.Reporting.Processing.ReportProcessor(); 
var reportSource = new Telerik.Reporting.UriReportSource();
reportSource.Uri = "some Uri";           
var deviceInfo = new System.Collections.Hashtable();
deviceInfo["ProcessItemActions"] = true;
reportProcessor.RenderReport("PDF", reportSource, deviceInfo);

Completed
Last Updated: 16 Jul 2021 08:45 by ADMIN
Release R2 2021 SP1 (Latest Internal Build)
When I place an HtmlTextBox in a table column and set its top padding, the padding is respected when previewing in the designer and when the report is rendered in PDF. When previewing in the Html5 Viewer the padding is ignored.
Completed
Last Updated: 16 Jul 2021 08:45 by ADMIN
Release R2 2021 SP1 (Latest Internal Build)
In the Report properties of the Web Report Designer when you open Layout -> PageSettings, there is no input or other control where you may enter or select any values or measure units for the Margins.
Unplanned
Last Updated: 29 Jun 2021 06:41 by ADMIN
My report has 4 levels of nested subreports. Each child subreport receives its data from the parent with Binding to a data field from the parent report data source. This works correctly with versions 11.2.17.913 and 13.2.19.1030 but doesn't show the correct data with version 15.0.21.326. For details see the forum post Invalid subreport data when updating to latest telerik reporting version.
Unplanned
Last Updated: 28 Jun 2021 13:14 by ADMIN

When the PDF rendering extension has its "enableAccessibility" setting set to true, the text in the produced document cannot be selected using the Select Tool from the Adobe Acrobat Reader context menu. The text can be selected in other PDF readers like Foxit PDF Reader. The text is also selectable in Adobe Acrobat Reader when the document is created without enabling the accessibility features.

Under Review
Last Updated: 28 Jun 2021 09:10 by ADMIN
Created by: Frantisek
Comments: 11
Type: Bug Report
1

Hello

 

I have problem with visual studio auto close when I'm working in reporting designer.

When I'm working in reporting designer and do about 5 changes, Visual studio freezes and after few monents is restarted and I loose all my work.

It is really frequented problem and I can hardly work with reporting designer.

 

In Windows Event Viewer I everytime find this exception that referes to problem in GetAggregateFunctions().

Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException

Server stack trace: 
   at Telerik.Reporting.Processing.AggregateFunctionHelper.GetAggregateFunctions(IServiceProvider provider)
   at Telerik.Reporting.Design.Common.ExpressionBuilder.CategoryAdapter.<GetAggregates>d__1b.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at Telerik.Reporting.Design.Common.ExpressionBuilder.CategoryAdapter.FillAggregates(Category funcCategory, IServiceProvider provider)
   at Telerik.Reporting.Design.Common.ExpressionBuilder.CategoryAdapter.CreateHierarchy(IServiceProvider provider, Boolean isFieldsTreeVisible)
   at Telerik.Reporting.Design.Common.ExpressionBuilder.ExpressionBuilderDialog.LoadCategories(IServiceProvider provider)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
   at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(System.Runtime.Remoting.Messaging.Message, Boolean)
   at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(System.Object, System.Runtime.Remoting.Proxies.MessageData ByRef)
   at Telerik.Reporting.Design.Common.ExpressionBuilder.ExpressionBuilderDialog+LoadCategoriesDelegate.EndInvoke(System.IAsyncResult)
   at Telerik.Reporting.Design.Common.ExpressionBuilder.ExpressionBuilderDialog.OnLoadCategoriesComplete(System.IAsyncResult)
   at System.Runtime.Remoting.Messaging.AsyncResult.SyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessageSink)
   at System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.DoAsyncCall()
   at System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(System.Object)
   at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Unplanned
Last Updated: 28 Jun 2021 08:40 by ADMIN

My need is to format numbers according to a custom culture with custom decimal, group symbols and number of decimal digits. For this I've created a custom CultureInfo object and set it up on Report.Culture property in a IReportSourceResolver implementation - I am using ASP.NET  from .net 5 example. For some reason, most of the NumberFormatInfo properties are ignored and a default, specific to the underlying culture code, is used. 

I need to programmatically change the NumberFormatInfo, because the service that is using Telerik Reporting is working in a multi tenant / multi culture environment and it must use the same report template but with different cultures for different requests.

Current result:

123 456 789
123 456 789,012
123 456 789 €
123 456 789,01 € 

Desired result, as per NumberFormatInfo settings (seen also in console):

123#456#789

123#456#789*01235

123##456##789 E

123##456##789**012346 E

 

Documentation reference:

https://docs.telerik.com/reporting/designing-reports-report-globalization

"A report is globalized with the help of a System.Globalization.CultureInfo object. You can specify a Culture for the entire Telerik.Reporting.Report by setting its Report.Culture property. This will force all Telerik.Reporting.TextBox items to respect the assigned Culture." 

But this does not appear to fully work. NumberFormatInfo of the Report.Culture property is not considered.

I've attached a project that reproduces this issues.

Declined
Last Updated: 22 Jun 2021 10:52 by ADMIN

 

I am using Telerik Report Designer 15.1.21.512

I have created a Web Service Datasource:

The returned Raw String in Preview Data in the Wizard:

Raw

{
 "Ordinal": 0,
 "Cardinality": 1,
 "Tuples": [
   {
     "Ordinal": 0,
     "Members": [
       {
         "Name": "Total ProfitLossBalance"
       }
     ]
   }
 ]
}

Everything appears to work, however the Datasource returns an Error:

System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei Telerik.Reporting.Processing.WebServiceDataSource.WebServiceClient.SendCore(IWebServiceRequestSettings settings, AuthenticationHeaderValue authHeader, HttpClient httpClient, HttpClientHandler httpClientHandler)
   bei Telerik.Reporting.Processing.WebServiceDataSource.WebServiceClient.Request(WebServiceDataSource processedDS)
   bei Telerik.Reporting.Processing.WebServiceDataSource.WebServiceDataProvider.GetRemoteRawData(WebServiceDataSource processedDS)
   bei Telerik.Reporting.Processing.WebServiceDataSource.WebServiceDataProvider.get_RawData()
   bei Telerik.Reporting.Processing.WebServiceDataSource.WebServiceSchemaAdapter.AddDataMeasures(SimpleDataModel model)
   bei Telerik.Reporting.Processing.Data.SimpleSchemaAdapterBase.Fill(SimpleDataModel model)
   bei Telerik.Reporting.Processing.Data.SimpleDataProvider`1.GetSchemaCore()
   bei Telerik.Reporting.Processing.Data.DataProvider`1.Telerik.Reporting.Processing.Data.IDataProvider.GetSchema()
   bei Telerik.Reporting.Data.Design.DataSourceService.GetLocalSchema(IDataSource datasource, IDataProviderContext dataProviderContext)
   bei Telerik.Reporting.Data.Design.DataSourceDesignerBase.Telerik.Reporting.Design.Interfaces.IDataSchemaProvider.GetSchema()
   bei Telerik.Reporting.Data.Design.DataSourceService.GetSchemaFromContext(Object context)
   bei Telerik.Reporting.Data.Design.DataSourceService.Telerik.Reporting.Design.Interfaces.IDataSourceService.GetCurrentDataItemSchema(Boolean getFromParentRecursively)
   bei Telerik.Reporting.Design.DataExplorerControl.<>c__DisplayClass2.<RefreshDataSource>b__0()
Completed
Last Updated: 16 Jun 2021 10:56 by ADMIN
Release R2 2021 SP1
When you preview a report with frozen table columns/rows and the viewer is in FitPageWidth scale mode the column/row headers move on scrolling. Here is a link to a short muted video demonstrating the issue.
Completed
Last Updated: 16 Jun 2021 10:56 by ADMIN
Release R2 2021 SP1
The freezing functionality works only for Chromium based browsers.
Completed
Last Updated: 16 Jun 2021 10:56 by ADMIN
Release R2 2021 SP1
The JsonDataSource component escapes characters like quotation marks in the Web Report Designer, which makes the JSON invalid.
Completed
Last Updated: 16 Jun 2021 10:56 by ADMIN
Release R2 2021 SP1
1. A custom report template is checked for getting the data source information needed
2. A new empty Telerik report is created
3. The report is client-side filled with those predefined data sources using the Telerik Javascript Shell (EditorCommand.NewItem for creating them and SetPropertyValue for filling in the details).

This approach has been working well for me until getting updated to the R1 2021 SP1 release (15.0.21.224), or the following versions, which are now unable to show the datasources fields in the explorer at first. However, manually adding a new component into the canvas makes the datasource tree to be updated then.
Unplanned
Last Updated: 16 Jun 2021 10:10 by ADMIN

Hello Telerik team!

In the attachment, there are two PDFs, generated by the same template (also in attachment): one built under Windows, another one - under Linux (Docker). See red boxes as defects on the screenshot:

Text wrap issues

Text wrap issues

Dockerfile fragment:

# MS TrueTypeFonts install
RUN wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb -P ~/Downloads
RUN apt install -y ~/Downloads/ttf-mscorefonts-installer_3.6_all.deb

RUN apt-get install -y libc6-dev
RUN apt-get install -y libgdiplus
RUN apt-get install -y libx11-dev
RUN rm -rf /var/lib/apt/lists/*

 

Please help us to resolve these issues in Linux.

Unplanned
Last Updated: 16 Jun 2021 06:27 by ADMIN
I display the Html5 Report Viewer in a Kendo Tab. When I close the viewer's tab and resize the browser window, the following error related to the viewer occurs in the browser console:
kendo.all.js:105032 Uncaught TypeError: Cannot read property 'find' of null
    at init.toggle (kendo.all.js:105032)
    at P (telerikReportViewer:9)
    at Object.<anonymous> (telerikReportViewer:9)
    at Object.trigger (telerikReportViewer:9)
    at Object.trigger (telerikReportViewer:9)
    at se (telerikReportViewer:9)
    at Object.setDocumentMapVisible (telerikReportViewer:9)
    at b (telerikReportViewer:9)
    at E (telerikReportViewer:9)
    at o (telerikReportViewer:9)
Unplanned
Last Updated: 15 Jun 2021 08:21 by ADMIN
Hello , I am trying to localizate export dictionary.  I couldnt find  "key : value"  в viewerObject.stringResources

Unplanned
Last Updated: 11 Jun 2021 13:16 by ADMIN

Ways to reproduce the problem:


1. Create simple one table one column report, with right horizontal text alignment in the column.

2. Set a data source with multiple rows, with different lengths for the string, displayed in the table's column.

3. Render the report under Windows and under Linux - the column text on different rows will not be aligned properly on linux, but will be shifted to the left or right depending on string's contents and length.

I've done a bit reserch on PDF rendering, concerning libgdiplus "MeasureString" method deficiencies, and here's what I discovered so far:

1. The source of the problem is the fact that libgdiplus ends up using cairo to measure string glyphs, and it does it's font metric in whole pixels (integer), using the DPI of the context it is called in. In short, if the context is using 96DPI, cairo will use these 96DPI to calculate (and round) the font metrics, and to write strings eventually.

2. When libgdiplus is compiled to use pango, the problem is much smaller (several millimeter differences become part of the millimeter), because internally pango scales the measurement 1024 times, but it appears that this is not enough to resolve the problem.

3. When using libgdiplus (with or without pango inbetween it and cairo) for both "DrawString" and "MeasureString", everything is perfect, but the fundamental problem in Relerik Reporting to PDF is that it renders in a vector format, but uses text metering for pixel format - it uses System.Graphics.MeasureString which is a DPI vased metering (on Linux at least) but uses proprietary "PdfRenderer.DrawString" of the "PdfRendered" class, not the native Graphics.DrawString. Since cairo rounds every character glyph metrics to an integer value, the longer the string is, the larger the discrepancy will be between string rendering when PDF is viewed (based on floats/doubles) and Graphics.MeasureString (based on integers, at least on Linux).

Ways to resolve the issue:

1. The best way to resolve the issue is not to call Graphics.MeasureString at all, when rendering to vector based format, because it measures string based on the DPI on graphics context it is in. In other words, proprietary "PdfRenderer.MeasureString" must be  implemented, which works with font glyphs directly, entirely using single or double precision math to calculate glyph dimensions and string dimensions.

2. Another, not so perfect, but HUGELY EASIER way is to set DPI of the rendering context of the PDF to a higher value, here's how:

For the moment, PdfContext's constructor looks like this
public PdfContext(string ownerPassword, string userPassword)
{
            this.dataFormatter = string.IsNullOrWhiteSpace(ownerPassword) ?
                                    new DataFormatter() :
                                    new DataFormatterEncypted(ownerPassword, userPassword);

            this.bmp = new Bitmap(1, 1);
            this.graphics = Graphics.FromImage(this.bmp);
            this.hdc = this.graphics.GetHdc();
            this.pdfFontCache = new PdfFontCache();
 }
This creates a Graphics object, based on a Bitmap with default system's DPI, which is usually 96DPI, or somethiong around this. So, all rendering metrics are callulated for 96DPI, so there will ALWAYS be a discrepancy between PDF's real rendering (when viewed with a reader), and Telerik reporting engine's calculations.

So, a simple way to get around this is to use higer DPI Graphics object, like this:

public PdfContext(string ownerPassword, string userPassword)
{
    this.dataFormatter = string.IsNullOrWhiteSpace(ownerPassword) ?
                            new DataFormatter() :
                            new DataFormatterEncypted(ownerPassword, userPassword);

    this.bmp = new Bitmap(1, 1);
    bmp.SetResolution(9600, 9600); //ADDED
    this.graphics = Graphics.FromImage(this.bmp);
    this.hdc = this.graphics.GetHdc();
    this.pdfFontCache = new PdfFontCache();
}
This makes the discrepancy 100 times lower, and in most cases practically invisible.

3. Another, more or less simple way to get around this, is to multiply font size and layout metrics by some number (I personally tried 16, 32, 128 and 256) before calling Graphics.MeasureString(), and dividing the result of the call by the same number after calling it. From my experience, 16 makes things MUCH better, and 128 is maybe enough to resolve 99.99% of the cases.

Attached is the result when rendered without multiplication (Linux-Orig.png) and when font size and layout methrics are multiplied by 128 before calling "MeasureString", and dividing the result by 128 afterwards (Linux-MultipliedBy128.png). On Windows the result looks exactly like the the corrected rendering on the "Linux-MultipliedBy128.png.
1 2 3 4 5 6