Telerik Forums
Reporting Forum
1 answer
21 views

Hello,

Im retrieving some images from the database and im trying to show them like in a grid view like the mobile gallery. I've been trying with List and a picture box but each image shows in its on row.

What im trying to do

Column1          Column2
   Image1            Image2
   Image3           Image4

What im getting

Column1          Column2
   Image1           
   Image2
   Image3           
   Image4

Any help appreciated

Krasimir
Top achievements
Rank 4
Bronze
Iron
Iron
 answered on 14 Jul 2025
2 answers
21 views

I'm having issues with hiding or disabling the Search button on the Report Viewer. 

I found the attribute here for the Search Dialog:

https://docs.telerik.com/reporting/embedding-reports/display-reports-in-applications/web-application/html5-report-viewer/api-reference/data-attributes

I found this link on how to disable a button in the Viewer:

https://docs.telerik.com/reporting/knowledge-base/hide-or-change-html5-report-viewer-toolbar-buttons

But when I try it, the Search button continues to be active.

This is the code I have below. I would also point out that the reason I am trying to hide the Search is because when I do try to a search, I get a bunch of gobbly-gook that appears in the results. See attached. I'm not sure what that is all about. So I am willing to keep the Search button active as an alternative if there is a way to return clean results.

    <script type="text/javascript">

        $("#reportViewer1")
            .telerik_ReportViewer({
                serviceUrl: "api/reports/",
                //templateUrl: /ReportViewer/templates/telerikReportViewerTemplate-FA-19.0.25.211.html
                reportSource: {
                    report: "PhoneDirectory.trdp",
                    parameters: {
                        CultureID: "en"
                    },
                    viewMode: telerikReportViewer.ViewModes.INTERACTIVE,
                    scaleMode: telerikReportViewer.ScaleModes.SPECIFIC,
                    /*                    renderingEnd: onRenderingEnd,*/
                    ready: function () {
                        $("[data-command='telerik_ReportViewer_toggleSearchDialog']").parent().hide();
                    },

                    scale: 1.0,
                    enableAccessibility: false,
                    sendEmail: { enabled: true }
                }
            });
    </script>-->
Joe
Top achievements
Rank 1
Iron
 answered on 07 Jul 2025
0 answers
19 views

I am using reporting 15.2 in Sitefinity 14.3, works great

Updated to sitefinity 15.3 copied over all the reporting assemblies and now it's throwing this error

Cannot access the Reporting REST service. (serviceUrl = '/api/reports/'). Make sure the service address is correct and enable CORS if needed. (https://enable-cors.org)

It's clearly not CORS related, but the 404 not found is weird.  Any thoughts?

 

Request URL
https://dev.x.ca/api/reports/version
Request Method
GET
Status Code
404 Not Found
sitefinitysteve
Top achievements
Rank 2
Iron
Iron
Veteran
 asked on 07 Jul 2025
2 answers
27 views

Hi support team.

I go back to you on this subject because I have a problem as below:

I'm using Telerik Report Designer Standalone for making my report template.

In fact, I have 2 series: 1 barserie and 1 lineserie. In Line serie, I can make any style of DataPointLabel without any problem. However in bar serie, I want to change the color of DataPointLabel as below but it doesn't take in affect, please help me to resolve it

minh
Top achievements
Rank 2
Iron
Iron
Iron
 answered on 04 Jul 2025
1 answer
22 views

Hi team, please help to check this error

Telerik.Reporting.Serialization.SerializerExcepion
  HResult=0x80131500
  Message=The XML serializer cannot resolve type with name: System.ComponentModel.ISite
  Source=Telerik.Reporting
  StackTrace:
   at Telerik.Reporting.Serialization.ObjectReader.ReadValue(Object obj, PropertyDescriptor prop)
   at Telerik.Reporting.Serialization.ObjectReader.ReadAttributes(Object obj, PropertyDescriptorCollection props)
   at Telerik.Reporting.Serialization.ObjectReader.ReadProperties(Object obj)
   at Telerik.Reporting.Serialization.ObjectReader.ReadObject(Type type)
   at Telerik.Reporting.Serialization.ObjectReader.ReadXmlElement(String name)
   at Telerik.Reporting.Serialization.ObjectReader.ReadCollection(Object collection)
   at Telerik.Reporting.Serialization.ObjectReader.ReadProperties(Object obj)
   at Telerik.Reporting.Serialization.ObjectReader.ReadObject(Type type)
   at Telerik.Reporting.Serialization.ObjectReader.ReadXmlElement(String name)
   at Telerik.Reporting.Serialization.ObjectReader.Deserialize(IResourceHandler handler)
   at Telerik.Reporting.JsonSerialization.JsonSerializer.Deserialize(String value)
   at Telerik.Reporting.JsonSerialization.JsonSerializer.Deserialize(StreamReader reader)
   at Telerik.Reporting.JsonSerialization.JsonSerializer.Deserialize(Stream stream)
   at Telerik.Reporting.JsonSerialization.ReportJsonSerializer.Deserialize(Stream stream)
   at MOS.ReportWriter.Web.Core.TelerikExtensions.ReportHelper.LoadReportFromDataWithDatasources(String reportData, List`1 webServiceDataSources) in C:\working\sourcecode\hrs-report\MOS.ReportWriter.Web\Core\TelerikExtensions\ReportHelper.cs:line 110

  This exception was originally thrown at this call stack:
    [External Code]

Inner Exception 1:
InvalidCastException: Invalid cast from 'System.String' to 'System.ComponentModel.ISite'.

When i trying to modify the WebServiceDatasource in the report document with code below


public static Telerik.Reporting.Report LoadReportFromDataWithDatasources(string reportData, List<CustomeWebServiceDataSource> webServiceDataSources)
{
    try
    {
        using MemoryStream stream = new(Convert.FromBase64String(reportData));
        var reportPackager = new ReportPackager();
        Telerik.Reporting.Report reportDocument = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(stream);

        // Filter only WebServiceDataSources
        var originalDataSources = reportDocument.GetDataSources();
        var webServiceSources = originalDataSources.OfType<WebServiceDataSource>().ToList();

        // Match and update existing WebServiceDataSources
        var matchedDataSources = webServiceSources
            .Where(ws => webServiceDataSources.Any(x => x.ServiceUrl == ws.ServiceUrl))
            .ToList();

        var unmatchedCustomSources = webServiceDataSources
            .Where(x => !webServiceSources.Any(ws => ws.ServiceUrl == x.ServiceUrl))
            .ToList();

        var rebuiltDataSources = new List<object>();

        foreach (var ws in matchedDataSources)
        {
            var matchingCustom = webServiceDataSources.FirstOrDefault(x => x.ServiceUrl == ws.ServiceUrl);
            var paramValues = JsonConvert.DeserializeObject<Dictionary<string, object>>(matchingCustom?.ParameterValues);

            var updatedWs = new CustomeWebServiceDataSource
            {
                Name = ws.Name,
                DataEncoding = ws.DataEncoding.CodePage,
                Method = ws.Method.ToString(),
                Parameters = ws.Parameters.Select(p => new DataSourceParameter
                {
                    Name = p.Name,
                    Value = new DataSourceParameterValue { Value = p.Value?.ToString() },
                    WebServiceParameterType = p.WebServiceParameterType.ToString()
                }).ToList(),
                ServiceUrl = ws.ServiceUrl,
                DataSelector = ws.DataSelector
            };

            updatedWs.SetParameterValues(paramValues);
            rebuiltDataSources.Add(updatedWs);
        }

        // Add new unmatched custom sources
        rebuiltDataSources.AddRange(unmatchedCustomSources);

        // Preserve non-WebServiceDataSources
        var otherDataSources = originalDataSources.Where(ds => ds is not WebServiceDataSource);
        rebuiltDataSources.AddRange(otherDataSources);

        // Serialize updated report and inject data sources
        var reportContent = SerializeReportToJson(reportDocument);
        var reportJson = JsonConvert.DeserializeObject<JToken>(reportContent);

        // Use full polymorphic list
        reportJson["DataSources"] = JsonConvert.DeserializeObject<JArray>(JsonConvert.SerializeObject(rebuiltDataSources));
        reportContent = JsonConvert.SerializeObject(reportJson);

        using MemoryStream finalStream = new(System.Text.Encoding.UTF8.GetBytes(reportContent));
        var serializer = new ReportJsonSerializer();
        return (Telerik.Reporting.Report)serializer.Deserialize(finalStream);
    }
    catch
    {
        return null;
    }
}
the error occured at 
return (Telerik.Reporting.Report)serializer.Deserialize(finalStream);
Todor
Telerik team
 answered on 03 Jul 2025
1 answer
23 views

 

Afer update to the newes Version , the context menu spans the full width of the window. see screenshot. its not possible to click a submenu.

how can i fix this?

thanks Thomas

Dimitar
Telerik team
 answered on 30 Jun 2025
1 answer
48 views

The Native Blazor Report Viewer uses Blazor Multiselect by default for multiselect parameters. This becomes very cluttered when many items are selected.

I want to display parameters in a multi-select dropdown list with check boxes, exactly like this: https://demos.telerik.com/aspnet-ajax/combobox/examples/functionality/checkboxes/defaultcs.aspx

The equivalent Blazor demo is more cluttered as selections showing in the select box: https://www.telerik.com/blazor-ui/documentation/knowledge-base/multiselect-checkbox-in-dropdown 

The article here https://docs.telerik.com/reporting/embedding-reports/display-reports-in-applications/web-application/native-blazor-report-viewer/customizing/how-to-create-custom-parameter-editors has an example on how to customize the parameter widget in Native Blazor Report Viewer.

Can anyone here share the code to create a nice clean multi-select dropdown list with check boxes for a parameter in the Native Blazor Report Viewer? 

 

Ivet
Telerik team
 answered on 27 Jun 2025
3 answers
348 views

Hi Telerik reporting support team,

We are looking for a solution to draw 2 series of chart in the same Graph: LineSeries and BarSeries. We did it successfully in Telerik WPF but not in Reporting.

In WPF, we can draw 2 series with 2 datasources in the same Graph.

In Reporting, we tried to draw 2 graphs, the bar overlays on line, but unfortunately, they are not positioned in the same scale (see picture).

image

Do you have any suggestion to us to achieve this behaviour?

 

Many thank for your help,

minh
Top achievements
Rank 2
Iron
Iron
Iron
 answered on 27 Jun 2025
1 answer
20 views

Currently we're using a pictureBox as a Watermark, but this only shows on the first page of the record.

We also created a binding to show/hide the image.

 

When using a real Watermark it is correctly displayed on every page, but we cannot add a binding to conditionally show/hide it.

 

How can we implement a Watermark that both is displayed on every page, but also is only shown on a specific condition?

 

Kind regards.

Ivet
Telerik team
 answered on 27 Jun 2025
2 answers
42 views

We just updated Telerik Reporting to 19.1.25.521.

Our application uses WPF but because of historical reasons, we use the WinForms ReportViewer hosted in a WindowsFormsHost control.

Since the latest update (coming from Telerik Reporting Q1 2025), we get a NullReferenceException when the ReportViewer is about to display the report after loading it.

System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=Telerik.ReportViewer.WinForms
  StackTrace:
   at Telerik.ReportViewer.WinForms.Licensing.UiLicensePresenter.ShowWatermark(Action showWatermarkCallback)

It seems to have something to do with Licensing? We have manually placed the [assembly: global::Telerik.Licensing.EvidenceAttribute... declarations for Telerik UI for WPF and Telerik Reporting in the project, as it is instructed in your documentation. The regular Telerik WPF controls work fine in our application.

 

Dimitar
Telerik team
 answered on 25 Jun 2025
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?