Completed
Last Updated: 31 Jan 2024 17:38 by ADMIN
Release 2024 R1 PI1
Created by: Levi
Comments: 71
Category: Reporting
Type: Feature Request
54

What's the long-term plan for supporting Linux and Telerik Reporting? The dotnet design team is looking to remove support for System.Drawing.Common on Linux platforms. They're recommending compiler warnings in .Net 6, and full PlatformNotSupportedExceptions in .Net7

 

Sources:

designs/system-drawing-win-only.md at main · dotnet/designs (github.com)

Breaking change: System.Drawing.Common only supported on Windows - .NET | Microsoft Docs

Declined
Last Updated: 27 Sep 2021 15:50 by ADMIN
If there is an error when connecting to the database there will be no data returned and instead of displaying an informative error message, the report will be displayed as 'No page to display' by the designer/viewer, or exported as a corrupted document by the ReportProcessor.
The error will be displayed when SkipBlankPages is False.
Unplanned
Last Updated: 16 Sep 2021 11:44 by ADMIN
Any time I double-click in the HTML text box in the attached report and then click the text to start editing it, I get this error:

---------------------------
Telerik Report Designer
---------------------------
Unable to cast COM object of type 'System.__ComObject' to interface type 'mshtml.IHTMLTxtRange'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{3050F220-98B5-11CF-BB82-00AA00BDCE0B}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
---------------------------
OK   
Unplanned
Last Updated: 16 Sep 2021 07:15 by ADMIN

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.
Completed
Last Updated: 10 Nov 2021 16:55 by ADMIN
Release R3 2021 SP1
Created by: Shannon
Comments: 3
Category: Reporting
Type: Bug Report
3

I like the new open dialog for the Web Report Designer, but now my report names are all truncated and I can't tell what anything is.  Can you please off a list view in the Open Dialog so all my names aren't "Company R..."

 

Unplanned
Last Updated: 08 Oct 2024 09:51 by ADMIN
Created by: Shawn
Comments: 4
Category: Reporting
Type: Feature Request
2

Telerik,

This is a feature request to allow a designer to set the locale at preview time.

We work on reports that are deployed and executed in many regions and locales around the world.

We cannot have our report designers switch the locale each time they need to test or validate a report, it would become too cumbersome.

Would you be able to add an option (default: Current locale) to the "Preview" screen in the designer that allows the report designer to set the locale to Preview the report as.

Thanks!!

Shawn

Declined
Last Updated: 20 Sep 2021 13:27 by ADMIN

The Margins property cannot be set in the Blazor wrapper of the Web Report Designer:

 

Unplanned
Last Updated: 06 Sep 2021 12:42 by ADMIN

The parameter editors with Available Values are pushed down by the buttons 'clear selection'/'select all'. This makes them misaligned with respect to the parameters without Available Values:

Completed
Last Updated: 11 May 2022 10:24 by ADMIN
Release R2 2022

Adding a Parent Group to another Column Group in a Crosstab leads to "Object reference not set to an instance of an object" on report preview. Stack Trace:

Object reference not set to an instance of an object.
   at Telerik.Reporting.Processing.Table.ForEachCell(Action`1 action)
   at Telerik.Reporting.Processing.Table.MeasureDataItemContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.DataItem.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.LayoutElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.VisualElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.ProcessingElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.AbsolutePositionLayout.MeasureChildItems(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.AbsolutePositionLayout.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.ReportSectionBase.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.LayoutElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.VisualElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.ProcessingElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.StackLayout.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.Group.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.LayoutElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.VisualElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.ProcessingElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.StackLayout.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.Report.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.LayoutElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.VisualElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.ProcessingElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.LayoutElement.Measure(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.LayoutElement.MeasureElement(LayoutElement elementToMeasure, SizeLU availableSize, IMeasureContext context)
   at Telerik.Reporting.ImageRendering.ImageReportInteractive.MeasureRootCore(LayoutElement root, PageSettings pageSettings)
   at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(LayoutElement root, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback, PageSettings pageSettings)
   at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)
   at Telerik.Reporting.Processing.ReportProcessor.RenderCore(ExtensionInfo extensionInfo, IList`1 processingReports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
   at Telerik.ReportViewer.Common.ReportRenderer.Render(ReportRendererArgs args)

Completed
Last Updated: 11 May 2022 10:24 by ADMIN
Release R2 2022

The following error is thrown when inserting a new column on merged columns in a crosstab/table and then trying to select that column:

"Value cannot be null. Parameter name: components"
Unplanned
Last Updated: 21 Dec 2023 15:31 by j

Error: Unable to cast object of type 'Telerik.Reporting.Processing.Expressions.ProcessingEvalProvider' to type 'Telerik.Reporting.Expression.IValueObject'

is thrown on previewing the data source results in the WebServiceDataSource when the Runtime or Design time expressions are left completely empty or the runtime value is a report parameter with an empty Value property.

Unplanned
Last Updated: 31 Aug 2021 10:51 by ADMIN

The padding statement works when the report is run in the designer, but not in the HTML MVC report view.

It looks like the padding is applied to the second line and not where it is placed.

In other words, it works when viewed in the designer, but not in the website.

= "<span style='padding-top: 30px'>" + Fields.FirstName + " " + Fields.LastName + 
IIf(Len(Fields.Title)>=1, ", " + HtmlEncode(Fields.Title), "") + "</span><br>" +
"<u>Email</u>: " + IsNull(Fields.EmailAddress, "") + "<br>" +
"<u>Phone</u>: " + IsNull(Fields.Phone, "") + "<br>" +
"<u>Cell</u>: " + IsNull(Fields.Cell, "")

//Designer

//HTML Viewer

Unplanned
Last Updated: 27 Aug 2021 14:49 by ADMIN
Consider the following scenario: if you have a filter in the table which is based on a date report parameter. However, based on the selected date, there are no records in the table, you see the No pages to display message in the viewer, however, the parameters are is grayed out and you are not able to select a new date until you don't refresh the report. If you set the SkipBlankPages to False, the behavior is not reproduced. As a workaround, you can set the NoDataMessage property of the table.
Completed
Last Updated: 22 Nov 2021 10:28 by ADMIN
Release R3 2021 SP1

I've noticed an issue with the web service data source configuration window when using jQuery version 3.5.1 or higher.

When you use the click on the Web Service Data Source from the left side menu it will open the configuration window in which Responding encoding and Data selector fields will be there for the jQuery version 3.3.1.

Now try the same steps with the 3.5.1 jQuery version or higher and those 2 fields won't be there.

Declined
Last Updated: 11 Mar 2024 12:23 by ADMIN
Created by: Thanh
Comments: 2
Category: Reporting
Type: Bug Report
1

I followed How to set up in Blazor application | Telerik Reporting

All done! But when it run i got an error "telerikWebReportDesignerInterop.js 404"

<script src="_content/telerik.webreportdesigner.blazor/telerikWebReportDesignerInterop.js" defer></script>

and in console show:

fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
      Unhandled exception in circuit 'Gyr8E4g_PwQHf7G2UKY2h3obMpujPfFp2x9i7dkB4oQ'.
      Microsoft.JSInterop.JSException: Could not find 'telerikWebReportDesignerInterop.createWebReportDesignerWidget' ('telerikWebReportDesignerInterop' was undefined).
Error: Could not find 'telerikWebReportDesignerInterop.createWebReportDesignerWidget' ('telerikWebReportDesignerInterop' was undefined).
    at https://localhost:5001/_framework/blazor.server.js:1:67713
    at Array.forEach (<anonymous>)
    at e.findFunction (https://localhost:5001/_framework/blazor.server.js:1:67673)
    at v (https://localhost:5001/_framework/blazor.server.js:1:69415)
    at https://localhost:5001/_framework/blazor.server.js:1:70361
    at new Promise (<anonymous>)
    at e.beginInvokeJSFromDotNet (https://localhost:5001/_framework/blazor.server.js:1:70334)
    at https://localhost:5001/_framework/blazor.server.js:1:26441
    at Array.forEach (<anonymous>)
    at e.invokeClientMethod (https://localhost:5001/_framework/blazor.server.js:1:26411)
         at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, Object[] args)
         at Microsoft.JSInterop.JSRuntimeExtensions.InvokeVoidAsync(IJSRuntime jsRuntime, String identifier, Object[] args)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)

Telerik Reporting 15.1.21.616

<PackageReference Include="Telerik.Reporting.Services.AspNetCore" Version="15.1.21.616" />
<PackageReference Include="Telerik.Reporting.OpenXmlRendering" Version="15.1.21.616" />
<PackageReference Include="Telerik.ReportViewer.Blazor" Version="15.1.21.616" />
<PackageReference Include="Telerik.WebReportDesigner.Blazor" Version="15.1.21.616" />
<PackageReference Include="Telerik.WebReportDesigner.Services" Version="15.1.21.616" />

Startup.cs

 

namespace CSharp.Net5.BlazorIntegrationDemo
{
    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.DependencyInjection.Extensions;
    using Microsoft.Extensions.Hosting;
    using System;
    using Telerik.Reporting.Cache.File;
    using Telerik.Reporting.Services;
    using Telerik.WebReportDesigner.Services;

    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            this.Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();

            services.AddRazorPages()
                .AddNewtonsoftJson();
            services.AddServerSideBlazor();

            // Configure dependencies for ReportsController.
            services.TryAddSingleton<IReportServiceConfiguration>(sp =>
                new ReportServiceConfiguration
                {
                    ReportingEngineConfiguration = sp.GetService<IConfiguration>(),
                    HostAppId = "Net5BlazorDemo",
                    Storage = new FileStorage(),
                    ReportSourceResolver = new UriReportSourceResolver(System.IO.Path.Combine(sp.GetService<IWebHostEnvironment>().ContentRootPath, "..", "..", "..", "..", "Report Designer", "Examples")),
                });

            // Configure dependencies for ReportDesignerController.
            services.TryAddSingleton<IReportDesignerServiceConfiguration>(sp => new ReportDesignerServiceConfiguration
            {
                DefinitionStorage = new FileDefinitionStorage(
                    System.IO.Path.Combine(sp.GetService<IWebHostEnvironment>().ContentRootPath, "..", "..", "..", "..", "Report Designer", "Examples")),
                SettingsStorage = new FileSettingsStorage(
                    System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Telerik Reporting")),
                ResourceStorage = new ResourceStorage(
                    System.IO.Path.Combine(sp.GetService<IWebHostEnvironment>().ContentRootPath, "..", "..", "..", "..", "Report Designer", "Examples", "Resources"))
            });
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
            }

            app.UseStaticFiles();
            app.UseRouting();
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
                endpoints.MapBlazorHub();
                endpoints.MapFallbackToPage("/_Host");
            });
        }

        /// <summary>
        /// Loads a reporting configuration from a specific JSON-based configuration file.
        /// </summary>
        /// <param name="environment">The current web hosting environment used to obtain the content root path</param>
        /// <returns>IConfiguration instance used to initialize the Reporting engine</returns>
        static IConfiguration ResolveSpecificReportingConfiguration(IWebHostEnvironment environment)
        {
            // If a specific configuration needs to be passed to the reporting engine, add it through a new IConfiguration instance.
            var reportingConfigFileName = System.IO.Path.Combine(environment.ContentRootPath, "reportingAppSettings.json");
            return new ConfigurationBuilder()
                .AddJsonFile(reportingConfigFileName, true)
                .Build();
        }
    }
}

WebReportDesignerDemo.razor


@page "/webreportdesigner"
@using Telerik.WebReportDesigner.Blazor

<style>
    #wrd1 {
        position: relative;
        height: 880px;
        padding-right: 50px;
    }
</style>

@* Create the WebReportDesignerWidget *@

<p>This Web Report Designer instance works with reports hosted locally using the Reporting REST service. For more information, visit the <a target="_blank" href="https://docs.telerik.com/reporting/web-report-designer">Web Report Designer</a> article.</p>
<WebReportDesigner DesignerId="wrd1"
                   ServiceUrl="/api/reportdesigner"
                   Report="Dashboard.trdp"
                   ToolboxArea="new ToolboxAreaOptions() { Layout = ToolboxAreaLayout.List }"
                   PropertiesArea="new PropertiesAreaOptions() { Layout = PropertiesAreaLayout.Categorized }" />

Unplanned
Last Updated: 20 Aug 2021 12:38 by ADMIN
1. Create a report that has a text box with an interactive action Toggle Visibility or Sorting.
2. Before opening the report with the HTML5 viewer, add
                    interactiveActionExecuting: function (e, args) {
                        args.cancel = true;
                    },
to its' initialization
3. Open the report with the HTML5 report viewer.
4. Click the text box with the interactive action

Expected: nothing happens
Actual: The report content becomes hidden
Unplanned
Last Updated: 19 Aug 2021 13:33 by ADMIN
When you navigate between the pages it's working well the first 2-3 times but after that, when you try to navigate to a page, you are redirected each time to the first page.
Unplanned
Last Updated: 26 Oct 2022 11:09 by ADMIN

The SQL datasource incorrectly recognizes Table Variables in its SQL statement as parameters. The SQL wizard shows the "Configure data source parameter" page and fails to execute the statement.

PROBLEM DESCRIPTION:
A simple statement that uses Table Variables is shown below:
USE AdventureWorks
DECLARE @TestUDTs TABLE(AddressTypeID int NOT NULL, [Name] dbo.Name NOT NULL PRIMARY KEY CLUSTERED(AddressTypeID))
INSERT @TestUDTs(AddressTypeID, [Name]) SELECT AddressTypeID,[Name]
FROM Person.AddressType SELECT * FROM @TestUDTs

Unplanned
Last Updated: 08 Aug 2022 11:34 by sisindry

Please see the attached report for a reproduction of this behavior.

As you can see, the crosstab has only one row group in the group explorer which has its PageBreak property set to None. However, in the report explorer, you can see a greyed out row group I deleted with PageBreak=After which results in page breaks being inserted even though the group was supposedly deleted. In order to reproduce this, it appears that you have to first delete the column only and then delete the group, and you are left with a grey "ghost group" in the report explorer. If I delete both at once this does not seem to happen. I'm on version 15.0.21.120

Unplanned
Last Updated: 10 Aug 2021 15:37 by ADMIN
If you try setting a BackgroundColor in a graph through a Binding, this won't work if the expression a field from datasource.