Telerik Forums
Reporting Forum
1 answer
36 views

We have been running in a little bit of an issue. We have tried adding a binding to the report itself for culture to be linked to parameter but it wont change the culture of the report. We can set the binding on individual text boxes and it works fine. The other issue is from what we have found is that the culture of the report is supposed to be defaulted to the what the locale is for the computer that is running the report and we have a few international customers that are reporting that is not working.

Telerik Reporting Report Globalization - Telerik Reporting

Petar
Telerik team
 answered on 14 Apr 2026
1 answer
42 views

When I launch the Telerik Report Designer i now get the the error below, also pictured in the attachment. I was able to launch and use the application once before, but now only get this error.

"An error has occurred while merging the resource dictionaries. Make sure that no assemblies with Telerik Controls for WPF reside in the same directory as the application executable.

Error of type 'Telerik.ReportDesigner.Core.AppResourceMergeException' was thrown."

 

This seems to be the same issue mentioned here in another question on this forum.

Below is the folder with the exe files for the application. I have tried restarting the computer, reinstalling the application, and repairing the application. None of these have fixed the issue.

 

Todor
Telerik team
 answered on 26 Mar 2026
1 answer
58 views

I don't know exactly on which version when this functionality stop working but Telerik Report Viewer (HTML5) doesn't longer call /formats endpoint to get available formats on viewer initialization.

One workaround (or so) that we have found was to enable send email option to true (sendEmail: { enabled: true }) but this breaks our app as no email sending is required by our app users.

 

This is directly reproducible with build in CSharp.NetFramework.Html5IntegrationDemo and Telerik Report version 20.0.26.211 by changing

sendEmail: { enabled: true } on html js code.

 

Please advise.

Todor
Telerik team
 answered on 17 Mar 2026
1 answer
42 views

Hello,

I want to generate a pdf file on the backend from a report that uses a SharedDataSource..
The report gets loaded with an instance of  my implementation of the IReportSourceResolver.
The report uses a SharedDataSource. And I have also an implemenation of the ISharedDataSourceResolver configured.

I use the reporting engine in the following way:

ReportSource reportSource = _resolver.Resolve(reportName, OperationOrigin.GenerateReportDocument, resolvedParams);
var processor = new ReportProcessor();
var deviceInfo = new System.Collections.Hashtable();
RenderingResult result = processor.RenderReport("PDF", reportSource, deviceInfo);
After saving the result to File I get the pdf, but is shows a big red error box with the following message:
An error has occurred while processing Table 'table1': Cannot instantiate the referenced DataSource. Could not find file 'C:PATH TO A SHARED DATA SOURCE FILE'

This error lets my think that the reporting engine is not using its configured instance of the ISharedDataSourceResolver. The breakpoints dont get hit also, but when viewing the report in the webDesigner, the shared datasources get loaded correctly using the ISharedDataSourceResolver

I have the following configuration in the appsettings.json:

"telerikReporting": {
    "processing": {
      "sharedDataSourceResolver": {
        "provider": "custom",        
        "parameters": [
          {
            "name": "typeName",
            "value": "NameSpaceAndClassName, containing AssemblyName"
          }
        ]
      }
    } 
  }

In program.cs I have the following:
As I understand this is for the reporting engine:
builder.Services.AddScoped<IReportServiceConfiguration>(sp =>
{
    return new ReportServiceConfiguration
    {
        // ReportingEngineConfiguration = sp.GetService<IConfiguration>(), //(?? is this needed? does not load config either
       Storage = new FileStorage(),
       ReportSourceResolver = sp.GetRequiredService<DatabaseReportSourceResolver>()
    };
});

And as I understand this is for the webDesigner: 
builder.Services.AddScoped<ISharedDataSourceStorage, DatabaseSharedDataSourceStorage>();
builder.Services.AddScoped<IReportDesignerServiceConfiguration>(sp => new ReportDesignerServiceConfiguration
{
    DefinitionStorage = new DatabaseDefinitionStorage(sp.GetRequiredService<IReportDefinitionDataStore>()),  
    SharedDataSourceStorage = sp.GetRequiredService<ISharedDataSourceStorage>(),
    SettingsStorage = new FileSettingsStorage(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Telerik Reporting")),
});

What am I missing? what is the correct way to configure the reporting engine to use my ISharedDataSourceResolver implementation?
The webReportDesigner does work correctly when using reports with sharedDataSources, It only happens when I instantiate the reporting engine manualy in the backend.

Kind regards


Dimitar
Telerik team
 answered on 10 Mar 2026
1 answer
65 views
I'm hitting a call stack error when running the telerik Web designer in my app, put a few checks to ensure no double init but anyhow here's my init. No backend failures identified. The errors stem from the designer initializing all the controls (dropdowns, fields etc) at this point in the designers internal code.
Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at init.wrap (webReportDesigner.kendo-19.3.25.1111.min.js:16:433731)
    at webReportDesigner.kendo-19.3.25.1111.min.js:16:432594
    at Array.forEach (<anonymous>)
export const ReportDesigner = (): React.ReactElement => {
    const initializedRef = React.useRef(false)
    useEffect(() => {
        if (initializedRef.current) return
        // Make jQuery global for legacy scripts
        //@ts-expect-error: TS2339 (TS) Property '$' does not exist on type 'Window & typeof globalThis'.
        window.$ = window.$ || $
        //@ts-expect-error: TS2339 (TS) Property 'jQuery' does not exist on type 'Window & typeof globalThis'.
        window.jQuery = window.jQuery || $
        // Ensure Kendo exists globally
        const kendo = window.kendo
        if (!kendo) {
            console.error("Kendo UI must be loaded globally before initializing the designer!")
            return
        }
        
        const initDesigner = () => {
            if ($("#reportDesigner").data("telerik_WebReportDesigner")) {
                return // already initialized
            }
            //@ts-expect-error: TS2339 because Property 'telerik_WebReportDesigner' does not exist on type 'JQuery<HTMLElement>'.
            ($("#reportDesigner")).telerik_WebReportDesigner({
                serviceUrl: "/api/ReportDesigner",
            })
        }
        // Load Telerik designer scripts sequentially
        const loadDesignerScripts = (): Promise<void> => {
            return new Promise((resolve, reject) => {
                if (document.querySelector('script[src*="webReportDesigner-19.3"]')) {
                    resolve()
                    return
                }
                const coreScript = document.createElement("script")
                coreScript.src = "/telerik/webReportDesigner-19.3.25.1111.js"
                coreScript.onload = () => {
                    const kendoScript = document.createElement("script")
                    kendoScript.src = "/telerik/webReportDesigner.kendo-19.3.25.1111.min.js"
                    kendoScript.onload = () => {
                        // Plugin should now exist
                        //@ts-expect-error: TS2339 (TS) Property 'telerik_WebReportDesigner' does not exist on type 'JQuery<HTMLElement>'.
                        if (!$.fn.telerik_WebReportDesigner) {
                            console.error("Telerik Web Report Designer plugin not loaded!")
                            reject(new Error("Telerik plugin not loaded"))
                            return
                        }
                        resolve()
                    }
                    kendoScript.onerror = (error) => reject(new Error(`Failed to load kendo integration script ${error}`))
                    document.body.appendChild(kendoScript)
                }
                coreScript.onerror = (error) => reject(new Error(`Failed to load core designer script ${error}`))
                document.body.appendChild(coreScript)
            })
        }
        // Ensure scripts loaded + token ready
        loadDesignerScripts().then(() => initDesigner()).catch(err => console.error(err))
    }, [])

    return <div id="reportDesigner" style={{ height: "900px" }} />
}
 
Petar
Telerik team
 answered on 06 Mar 2026
1 answer
85 views

while active license is available:

 

Sergii
Top achievements
Rank 2
Iron
Iron
Iron
 answered on 20 Feb 2026
3 answers
385 views

Hi,

In telerik Report , can i calculate age from DOB that i get for each record in my query.

Is there any datetime functions or formula fields available like in crystal reports for doing above thing?

Please reply me as soon as possible.

Thanks in advance.
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
 answered on 19 Feb 2026
1 answer
61 views
Based on our issue from 2 years ago, we implemented ISharedDataSourceResolver as a fix: https://www.telerik.com/forums/pass-user-claimsprincipal-from-reportscontroller-to-webservice-datasource-controller

    public class CustomSharedDataSourceResolver : Telerik.Reporting.Processing.Data.ISharedDataSourceResolver
    {
        /// <summary>
        /// Resolves and returns a DataSource instance from the provided <paramref name="sharedDataSourcePath"/> parameter.
        /// </summary>
        /// <param name="sharedDataSourcePath">The value of the Path property obtained from the report definition. Might be relative or absolute.</param>
        /// <returns></returns>
        public DataSource Resolve(string sharedDataSourcePath)
        {
            ValidateConfiguration();

            var absolutePathToSharedDataSourceDefinition =
                GetExistingFilePath(Configuration.Instance.ReportsPath, sharedDataSourcePath)
                ?? GetExistingFilePath(Configuration.Instance.SharedDataSourcesPath, sharedDataSourcePath);

[...]
It is registered in our Appsettings.json:

{
  "ConnectionStrings": {[...]},
  "AllowedHosts": "*",
  "AzureStorageBlobConfig": {[...]},
  "Logging": {[...]},
  "TelerikReporting": {
    "Processing": {
      "SharedDataSourceResolver": {
        "Provider": "custom",
        "Parameters": [
          {
            "Name": "typename",
            "Value": "TgsFlow.Plugin.Reporting.TelerikReporting.Utilities.CustomSharedDataSourceResolver, TgsFlow.Plugin.Reporting.TelerikReporting"
          }
        ]
      }
    }
  }
}
If I put a breakpoint on Resolve(), this breakpoint is hit on version 18.2.24.806 of Telerik.Reporting.Services.AspNetCore and Telerik.WebReportDesigner.Services. But if I upgrade those dependencies to 19.2.25.813 the breakpoint is no longer hit and the previously discussed fix no longer works.
1 answer
82 views
Dear Telerik Support Team,

I am reaching out to request technical assistance regarding the implementation of a "Terms and Conditions" section that should function as a completely independent additional page at the end of my report.

Current Report Structure: My main report includes Page Header, Detail, and Page Footer (containing total calculations) sections.

Current Configuration (Attempted without success): To force the legal text into an independent final page, I have configured the following:
  • Section used: ReportFooterSection to contain the legal text.
  • PageBreak Property: Set to Before.
  • Text Component: HtmlTextBox with CanGrow set to True.
  • KeepTogether Property: I have tested both True and False settings.
Persistent Issues: Despite these settings, the text is not being isolated correctly:
  • Section Merging: The long text starts rendering immediately after the Details section on the main page, ignoring the page break or fragmenting erratically.
  • Page Footer Conflict: The Page Footer elements (invoice totals and page numbers) from the main invoice continue to print on the pages where the legal text appears, causing visual overlaps.
Questions for the Support Team:

  1. What is the cleanest way to add this final page? Given the standard report flow, how can I insert this block so it "breaks" the flow and takes over a full page without inheriting the layout (Header/Footer) of the previous pages?
  2. Conditional Visibility Control: How do you recommend hiding the Page Header and Page Footer specifically on these final "Terms" pages?
  3. Report Architecture: For text that spans one or more full pages, is it better to continue using the ReportFooterSection, or would you recommend using a SubReport or a Group Footer without a grouping expression?

Special Request: I have attached my report definition file (.trdp). Could you please review my current structure and modify the attached report using the most robust configuration to solve this behavior?


Dimitar
Telerik team
 answered on 17 Feb 2026
1 answer
80 views

Hello Telerik Support,

We’re implementing PDF accessibility in Telerik Reporting and enabled it via deviceInfo passed to RenderReport:



var deviceInfo = new Hashtable

{

  {"EnableAccessibility", true},

  {"Title", "CustomTitle"},

  {"DocumentCreator", "CustomCreator."},

  {"DocumentProducer", "CustomProducer."},

  {"DocumentNaturalLanguage", "en-En"},

  {"WriteDefaultAccessibleDescription", false},

  {"FontEmbedding", "Full"},

};

 

var result = reportProcessor.RenderReport("PDF", reportSource, deviceInfo);

After rendering document, document has accesability features but PAC (PDF checker for accesability) reports accessibility warnings related to tagged content structure.

In particular, text is split into multiple <Span> tags and link text is also tagged as <Span> instead of a link annotation <Link> element (example screenshot attached; sensitive data obfuscated).

 

We attempted multiple approaches to generate a proper link structure:

  • Using <a href="..."> inside HtmlTextBox
  • Using Interactivity → Action → NavigateToUrl (with and without href)
  • Switching from HtmlTextBox to TextBox and applying NavigateToUrl
  • Creating dedicated HtmlTextBox/TextBox elements containing only the link

None of these produced a properly tagged link element in the output PDF.

Are we missing any additional configuration or a required reporting element setup to ensure hyperlinks are exported as proper link annotations/tags in accessible PDFs?

We’re using Telerik Reporting version 18.3.24.1218.

 

Todor
Telerik team
 answered on 13 Feb 2026
Top users last month
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?