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.
If the Telerik.ReportViewer.WinForms.ReportViewer.ReportSource property of the WinForms Report Viewer is null, besides displaying a message that no report has been loaded, the parameters area is also visible.
The parameters area shouldn't be visible when no report is selected, only the message should be displayed in the viewer's viewport.
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 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. 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 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.
All of my report parameters have their AutoRefresh setting set to False, and the parameters do not depend on each other, they are not cascading parameters. The parameters have available values.
If I change the value of one of the parameters, despite the above settings, all of the other parameters' data is re-retrieved(even if those parameters are not visible).
This causes issues because the "Preview" button is disabled until the parameters are refreshed, and makes the UX bad since if the connection is slow, the end-users will have to wait for the parameters area to refresh after changing any parameter value.
I am using Kendo UI R1 2023 SP2 (version 2023.1.425) themes. Telerik Reporting scripts and stylesheets have not been updated to reflect the latest changes of Kendo UI.
1st photo shows using bootstrap themes, 2nd photo shows using other themes.
DPI Awareness Settings are not applied when printing from the ReportProcessor in .NET where the configuration is provided in the constructor.
However, if I manually invoke the SetProcessDpiAwareness function before triggering the printing, the DPI is successfully updated.
Just like the HTML5 Report Viewer, it will be easier to embed the Web Report Designer in an application if it wasn't necessary to manually add the kendo script to the page.
I have a use case which requires me to record data whenever a report is printed. In pursuit of this, I am trying to replace the build in Print() tool and replace it with my own.
I have read this documentation which shows how to remove and reorder the buttons well enough, but it does not support adding a new tool all-together. Javascript event listeners will not work for me because ultimately what I want to do is accomplish a database write, which would be insecure through javascript.
I have been able to establish a workaround by following this documentation and creating a button *outside* of the ReportViewer, however, I would still like to find a way to put the button inside of the ReportViewer toolbar if possible.
Group properties are not visible in the item tree of the Telerik Report Designer for .NET.
When trying to duplex print a report that has odd page numbers, the next report's first page prints on the back of the previous report. We need the ability to conditionally insert a page break based on whether the report's (the group's) page count is odd or even. Since we don't have access to the global pagecount variable outside the footer, there is no way to use it to insert a page break into the body of the report. This seems like it would be such a common need with the desire by many to save paper that it would be an obvious feature to include in the product. Thanks.
Is there a way to have the linear gauge display a value above the indicator?
Old shortcuts(CTRL+INSERT: Copy, SHIFT+INSERT: Paste and SHIFT+DELETE: Cut) of cut/copy/paste don't work in Standalone Report Designer for elements.
As of now the Reporting team provides only part of the source code - mostly the code that targets .NET Framework 4.6.2.
Please expose more of the code to your customers, like Telerik Reporting engine for .NET 6+ and corresponding REST WebAPI.
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);