This is a migrated thread and some comments may be shown as answers.

ReportBook using HTML5 Viewer

13 Answers 729 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Lisa
Top achievements
Rank 1
Lisa asked on 16 Sep 2019, 02:53 PM

I am updating an ASP.Net WebForms application which uses the now obsolete WebForms ReportViewer.  I am converting this to use the HTML5 WebForms viewer instead.  We use ReportBooks in our application to display a collection of reports as one.  In your documentation article: "How to Display a ReportBook in Viewer", it states:  "Created ReportBook can be passed to the report viewer's report source as TypeReportSource."  But the viewer only takes: Telerik.ReportViewer.Html5.WebForms.ReportSource so how am I to pass the ReportBook to the viewer?

Thanks,

Lisa

13 Answers, 1 is accepted

Sort by
0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 18 Sep 2019, 09:48 PM

Hello,

When using a TypeReportSource the Report Source Identifier is the Assembly Qualified Name. For your reference, I have attached a WebForms application that shows how to set the ReportSource for a UriReportSource and a TypeReportSource. Additionally, below are examples for setting the values in the code-behind and the markup for the attached sample.

Code-Behind

 

using Telerik.ReportViewer.Html5.WebForms;
using ReportSource = Telerik.ReportViewer.Html5.WebForms.ReportSource;

public partial class Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ReportSource pageReportSource = new ReportSource
        {
            Identifier = typeof(ReportLibrary.ReportBook).AssemblyQualifiedName,
            IdentifierType = IdentifierType.TypeReportSource
        };
        ReportViewer1.ReportSource = pageReportSource;
    }
}

 

Markup

 

<form runat="server">
    <telerik:ReportViewer Width="" Height=""
        ID="reportViewer1"
        runat="server">
        <ReportSource 
            IdentifierType="TypeReportSource" 
            Identifier="ReportLibrary.ReportBook, ReportLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
        </ReportSource>
    </telerik:ReportViewer>
</form>

 

For more details, see the Report Source Viewers documentation. 

In order to run the attached project, ensure the Telerik NuGet Feed is Configured for Visual Studio and the Adventureworks Sample Database is installed in the Visual Studio localdb instance.

Please let me know if you need any additional information. Alternatively, if you feel this answers your question, remember to mark this as the answer. Thank you for using the Telerik Reporting Forums.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Lisa
Top achievements
Rank 1
answered on 19 Sep 2019, 01:37 PM

Thank you for your response.

I am still not clear on how this is supposed to work for a ReportBook.  I currently have a ReportBook object that pulls in a number of .trdp files.  Using the method you describe here, I can specify only a single source.  I need to be able to specify several trdp files to add to the ReportBook and these are determined at run time so they cannot be in the markup.  I have done this using the obsolete WebForms report viewer.  How do I do it with the Html5 viewer?

Thanks,

Lisa

0
Lisa
Top achievements
Rank 1
answered on 19 Sep 2019, 01:45 PM

Just to follow-up, I am trying to do this:

"Create a ReportBook by inheriting Telerik.Reporting.ReportBook class and adding the required ReportSources to it. An example of it is provided in ReportBook.cs file located in product installation folder (C:\Program Files (x86)\Progress\Telerik Reporting VERSION\Examples\CSharp\ReportLibrary\ReportBook). Created ReportBook can be passed to the report viewer's report source as TypeReportSource."

I have created the ReportBook object with the required ReportSources.  But I have not figured out how to do the last step, pass the ReportBook to the report viewer's report source.  Is the inherited class supposed to be the "AssemblyQualifiedName"?  If so, how do I pass the data required to instantiate the class?

Thanks,

Lisa

0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 19 Sep 2019, 08:15 PM

Hi Lisa,

The AssemblyQualifiedName Property returns the Fully Qualified Name of the Assembly for a Class. In this case, the Compiler looks at the Class of the ReportLibrary.ReportBook, identifies the Assembly from the Namespace of the Class and returns the Fully Qualified Name of the Assembly.

Let me review the main items below and provide additional references.

The Report Book 

In the attached sample, the ReportLibrary project contains a Report Book Class that inherits from Telerik.Reporting.ReportBook. This is where the TypeReportSource is set for each Report Object to be included in the Report Book. See the below code snippet for the full implementation.

 

namespace ReportLibrary
{
    using System.ComponentModel;
    using Telerik.Reporting;

    [Description("A collection of Product-related reports")]
    public class ReportBook : Telerik.Reporting.ReportBook // Inherits the Telerik.Reporting.ReportBook Class
    {
        // Constructor calls the AddTocTemplate and AddReports methods.
        public ReportBook()
        {
            AddTocTemplate();

            AddReports();
        }

        // Adds the Table of Contents Template
        void AddTocTemplate()
        {
            var tocReportSource = new TypeReportSource
            {
                TypeName = typeof(ReportBookToc).AssemblyQualifiedName
            };
            TocReportSource = tocReportSource;
        }

        // Adds class library reports to Report Book
        void AddReports()
        {
            ReportSources.Add(new TypeReportSource
            {
                TypeName = typeof(SalesByRegionDashboardPart).AssemblyQualifiedName
            });

            ReportSources.Add(new TypeReportSource
            {
                TypeName = typeof(DashboardPart).AssemblyQualifiedName
            });

            ReportSources.Add(new TypeReportSource
            {
                TypeName = typeof(ProductSalesPart).AssemblyQualifiedName
            });

            ReportSources.Add(new TypeReportSource
            {
                TypeName = typeof(ProductCatalog).AssemblyQualifiedName
            });

            ReportSources.Add(new TypeReportSource
            {
                TypeName = typeof(ProductLineSalesPart).AssemblyQualifiedName
            });
        }
    }

    [Browsable(false)]
    class SalesByRegionDashboardPart : SalesByRegionDashboard
    {
        public SalesByRegionDashboardPart()
        {
            DocumentMapText = "Sales By Region";
        }
    }

    [Browsable(false)]
    class DashboardPart : Dashboard
    {
        public DashboardPart()
        {
            DocumentMapText = "Dashboard";
        }
    }

    [Browsable(false)]
    class ProductSalesPart : ProductSales
    {
        public ProductSalesPart()
        {
            DocumentMapText = "Product Sales";
        }
    }

    [Browsable(false)]
    class ProductLineSalesPart : ProductLineSales
    {
        public ProductLineSalesPart()
        {
            DocumentMapText = "Product Line Sales";
        }
    }
}

 

The Report Viewer

The above ReportBook class is then set as the Report Source of the HTML5 WebForms Report Viewer Report Source in the Page_Load event. See below code snippet for full implementation.

 

using Telerik.ReportViewer.Html5.WebForms;

public partial class Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // Creates a new empty Html5.WebForms.ReportSource object
        Telerik.ReportViewer.Html5.WebForms.ReportSource pageReportSource = new Telerik.ReportViewer.Html5.WebForms.ReportSource
        {
            Identifier = typeof(ReportLibrary.ReportBook).AssemblyQualifiedName, // Sets the Fully Qualified Name of the Assembly that contains the ReportBook class
            IdentifierType = IdentifierType.TypeReportSource // Sets the type of the Identifier (Uri, Type, Instance, Xml, etc.) in this case it is a Type Report Source
        };
        ReportViewer1.ReportSource = pageReportSource; // Sets the Report Source
    }
}

 

The Report Viewer in the WebForm looks like the following.

 

<telerik:ReportViewer
    ID="ReportViewer1" 
	Width="1300px"
	Height="900px"
	EnableAccessibility="false"
    runat="server">
</telerik:ReportViewer>

Additional References

Report Sources

How-to: Set ReportSource for Report Viewers

I hope this helps. Please compare the attached sample to your project and make any necessary changes. Let me know if you need any additional information. Thank you.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Lisa
Top achievements
Rank 1
answered on 19 Sep 2019, 08:30 PM

I don't think you understand my question, I guess I am not being clear enough.  I understand the example and how it works.  But the ReportBook class in the example is essentially static.  I need to assemble the reports that make up the ReportBook AT RUNTIME.  There are a very large number of possible combinations which are determined from user input.  I also have to pass parameters into each of the reports.

Based on what I have read, I believe I need to write a custom resolver.  But the documentation says that this is not recommended.  So I would like to know if there is another way to specify the reports and parameters that make up a ReportBook at runtime.

Thanks,

Lisa

0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 19 Sep 2019, 09:56 PM

Hi Lisa,

Thank you for the added information. This is helpful. It is possible to create a Report Book at run-time using any event from the website. A similar approach is outlined in the How-to: Create a Report Book at Run-Time documentation. 

In order to better understand this scenario, I would need to review the Report Viewer Application. If that is not possible, see the additional references below.

How-to: Use Report Source Objects with Report Book

How to: Pass Values to Report Parameters

Programmatically output a Report Book and Print to PDF forum thread

I hope this helps. Please let me know if you need any additional information.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Lisa
Top achievements
Rank 1
answered on 22 Sep 2019, 09:45 PM

I am still struggling with this.  I have created a ReportSource to point to my ReportBook class:

Telerik.ReportViewer.Html5.WebForms.ReportSource pageReportSource = new
    Telerik.ReportViewer.Html5.WebForms.ReportSource
    {
        Identifier = typeof(CSReportBook).AssemblyQualifiedName,
        IdentifierType = IdentifierType.TypeReportSource
    };

 

Then I add all of my parameters for each of the subreports.  If I set a break point in my code, I can see the ReportSource with it's parameters collection and everything is set as it should be.

But I get the following error on displaying the ReportBook:

Unable to get report parameters.
An error has occurred.
Invalid report type

What else do I need to do?

Thanks,

Lisa

0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 24 Sep 2019, 07:38 PM

Hi Lisa,

Once the Report Book is set as the ReportSource, the Parameter(s) for each Report is now a Parameter for the Report Book. Ultimately, they are the same. Following the How-To: Pass Values to Report Parameters documentation, the ReportSource can then be used to add Parameter values. Let me go over how this is done in the attached sample. 

Set the Parameter Values on Page Load

The ComboBox value in the sample is configured to set the initial selected value to 2011 and this value is added to the Report on page load.

protected void Page_Load(object sender, EventArgs e)
{
    // Creates a new empty Html5.WebForms.ReportSource object
    Telerik.ReportViewer.Html5.WebForms.ReportSource pageReportSource = new Telerik.ReportViewer.Html5.WebForms.ReportSource
    {
        Identifier = typeof(ReportLibrary.ReportBook).AssemblyQualifiedName, // Sets the Fully Qualified Name of the Assembly that contains the ReportBook class
        IdentifierType = IdentifierType.TypeReportSource // Sets the type of the Identifier (Uri, Type, Instance, Xml, etc.) in this case it is a Type Report Source
    };

    ReportViewer1.ReportSource = pageReportSource; // Sets the Report Source

    // Sets the paramaters based on a value of the combobox
    pageReportSource.Parameters.Add("ReportYear", RadComboBox1.SelectedValue);
    pageReportSource.Parameters.Add("year", RadComboBox1.SelectedValue);
}

Add the ComboBox Selection Change Event

Once the Page is loaded, it is now possible to set the Parameters after the ComboBox change event. Note here the names are the same.

<script type="text/javascript">
    $('#<%= RadComboBox1.ClientID %>').change(function () {
        var viewer = $("#<%= ReportViewer1.ClientID %>").data("telerik_ReportViewer");
        viewer.reportSource({
            report: viewer.reportSource().report,
            parameters: { year: $(this).val(), ReportYear: $(this).val() }
        });
        //setting the HTML5 Viewer's reportSource, causes a refresh automatically
        //if you need to force a refresh for other case, use:
        //viewer.refreshReport();
    });
</script>

Please let me know if this helps. Thank you and I look forward to your reply.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Lisa
Top achievements
Rank 1
answered on 24 Sep 2019, 10:13 PM

Hi Eric,

I am doing exactly as you are:

// set the report source on the viewer:
Telerik.ReportViewer.Html5.WebForms.ReportSource pageReportSource = new
                      Telerik.ReportViewer.Html5.WebForms.ReportSource
{
     Identifier = typeof(CSReportBook).AssemblyQualifiedName,
     IdentifierType = IdentifierType.TypeReportSource
};
reportViewer1.ReportSource = pageReportSource; // Sets the Report Source
 
 // add all the report parameters
pageReportSource.Parameters.Add("VisitID", myParams.VisitID);
// urls for each of the scan views:
pageReportSource.Parameters.Add("EMGURL", myParams.EMGURL);
pageReportSource.Parameters.Add("HRVURL", myParams.HRVURL);
pageReportSource.Parameters.Add("ThermalURL", myParams.ThermalURL);

 

But I am getting this error in the console:

jquery-1.9.1.min.js:5 POST http://localhost:5307/api/reports/clients/ead0618420d/parameters 500 (Internal Server Error)
send @ jquery-1.9.1.min.js:5
ajax @ jquery-1.9.1.min.js:5
(anonymous) @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
$ajax @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
(anonymous) @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
Promise.then (async)
getParameters @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
(anonymous) @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
Promise.then (async)
ce @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
loadParameters @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
refreshReport @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
start @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
Promise.then (async)
(anonymous) @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
Promise.then (async)
(anonymous) @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
Promise.then (async)
main @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
ReportViewer @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
(anonymous) @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
each @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
jQuery.fn.<computed> @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
(anonymous) @ CoreScoreReport.aspx?VisitID=9c41bcf0-09b4-4d4f-bc1e-6511ac446f59&EMGURL=http://localhost:5307//DoctorPages/c46b82df-6201-4351-acc7-d9426f1ef504/77d2a5b6-829d-49d1-a709-5f478ca6677b/2/ScanView.jpg&HRVURL=http://localhost:5307//DoctorPages/c46b82df-6201-4351-acc7-d9426f1ef504/a571d25a-1e09-4913-a6ab-32cfc36a8729/3/ScanView.jpg&ThermalURL=http://localhost:5307//DoctorPages/c46b82df-6201-4351-acc7-d9426f1ef504/11e9a546-5a76-4fe2-a2fd-b62b19a885e3/24/ScanView.jpg&CSPlusFlag=0&jsonb=W3siU2NhbklEIjoiMTFlOWE1NDYtNWE3Ni00ZmUyLWEyZmQtYjYyYjE5YTg4NWUzIiwiQ29tcGFyZUd1aWRzIjpbXSwiVmlld1R5cGVJRCI6MX0seyJTY2FuSUQiOiI3N2QyYTViNi04MjlkLTQ5ZDEtYTcwOS01ZjQ3OGNhNjY3N2IiLCJDb21wYXJlR3VpZHMiOltdLCJWaWV3VHlwZUlEIjoyfSx7IlNjYW5JRCI6ImYwMmYxZjFlLWYwY2UtNDRkMS04N2M5LTBjM2Y3MWM1MGY1NiIsIkNvbXBhcmVHdWlkcyI6W10sIlZpZXdUeXBlSUQiOjZ9LHsiU2NhbklEIjoiOGE5ZjVjMjQtNWQ4Ni00MWFmLWE1YmItZWY1NTkwYjZkZmNmIiwiQ29tcGFyZUd1aWRzIjpbXSwiVmlld1R5cGVJRCI6NH0seyJTY2FuSUQiOiJhNTcxZDI1YS0xZTA5LTQ5MTMtYTZhYi0zMmNmYzM2YTg3MjkiLCJDb21wYXJlR3VpZHMiOltdLCJWaWV3VHlwZUlEIjozfV0=&ReportConfig=1:82
c @ jquery-1.9.1.min.js:3
fireWith @ jquery-1.9.1.min.js:3
ready @ jquery-1.9.1.min.js:3
H @ jquery-1.9.1.min.js:3
CoreScoreReport.aspx?VisitID=9c41bcf0-09b4-4d4f-bc1e-6511ac446f59&EMGURL=http://localhost:5307//DoctorPages/c46b82df-6201-4351-acc7-d9426f1ef504/77d2a5b6-829d-49d1-a709-5f478ca6677b/2/ScanView.jpg&HRVURL=http://localhost:5307//DoctorPages/c46b82df-6201-4351-acc7-d9426f1ef504/a571d25a-1e09-4913-a6ab-32cfc36a8729/3/ScanView.jpg&ThermalURL=http://localhost:5307//DoctorPages/c46b82df-6201-4351-acc7-d9426f1ef504/11e9a546-5a76-4fe2-a2fd-b62b19a885e3/24/ScanView.jpg&CSPlusFlag=0&jsonb=W3siU2NhbklEIjoiMTFlOWE1NDYtNWE3Ni00ZmUyLWEyZmQtYjYyYjE5YTg4NWUzIiwiQ29tcGFyZUd1aWRzIjpbXSwiVmlld1R5cGVJRCI6MX0seyJTY2FuSUQiOiI3N2QyYTViNi04MjlkLTQ5ZDEtYTcwOS01ZjQ3OGNhNjY3N2IiLCJDb21wYXJlR3VpZHMiOltdLCJWaWV3VHlwZUlEIjoyfSx7IlNjYW5JRCI6ImYwMmYxZjFlLWYwY2UtNDRkMS04N2M5LTBjM2Y3MWM1MGY1NiIsIkNvbXBhcmVHdWlkcyI6W10sIlZpZXdUeXBlSUQiOjZ9LHsiU2NhbklEIjoiOGE5ZjVjMjQtNWQ4Ni00MWFmLWE1YmItZWY1NTkwYjZkZmNmIiwiQ29tcGFyZUd1aWRzIjpbXSwiVmlld1R5cGVJRCI6NH0seyJTY2FuSUQiOiJhNTcxZDI1YS0xZTA5LTQ5MTMtYTZhYi0zMmNmYzM2YTg3MjkiLCJDb21wYXJlR3VpZHMiOltdLCJWaWV3VHlwZUlEIjozfV0=&ReportConfig=1:1 Uncaught (in promise) Error shown. Throwing promises chain stop error.
Promise.then (async)
refreshReport @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
start @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
Promise.then (async)
(anonymous) @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
Promise.then (async)
(anonymous) @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
Promise.then (async)
main @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
ReportViewer @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
(anonymous) @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
each @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
jQuery.fn.<computed> @ WebResource.axd?d=ZFpdt7tPWQNnA_egyzyNIoiCXyE9Uv3uahElV4Ph_8jLf-ETrtqhH55TWswk_JDA_0WAXEmhGCpwDY3YvLF747el4vrX05yv5pjFWgqdKC2M5uylpboNfTpZZNl_xIe6Q5zTV7_XLtwFFUcHArGKkGyfyja4zSf8rad97nGuFk14hkW77I6TjjMs6gZxJP8Hy56mnlF94ny41uIaufOjNIXA2zDCR3tQHpcLGIjVY1qn19qHDmGc7aTAoHB5zpbTQfDblw2&t=637044923177710348:9
(anonymous) @ CoreScoreReport.aspx?VisitID=9c41bcf0-09b4-4d4f-bc1e-6511ac446f59&EMGURL=http://localhost:5307//DoctorPages/c46b82df-6201-4351-acc7-d9426f1ef504/77d2a5b6-829d-49d1-a709-5f478ca6677b/2/ScanView.jpg&HRVURL=http://localhost:5307//DoctorPages/c46b82df-6201-4351-acc7-d9426f1ef504/a571d25a-1e09-4913-a6ab-32cfc36a8729/3/ScanView.jpg&ThermalURL=http://localhost:5307//DoctorPages/c46b82df-6201-4351-acc7-d9426f1ef504/11e9a546-5a76-4fe2-a2fd-b62b19a885e3/24/ScanView.jpg&CSPlusFlag=0&jsonb=W3siU2NhbklEIjoiMTFlOWE1NDYtNWE3Ni00ZmUyLWEyZmQtYjYyYjE5YTg4NWUzIiwiQ29tcGFyZUd1aWRzIjpbXSwiVmlld1R5cGVJRCI6MX0seyJTY2FuSUQiOiI3N2QyYTViNi04MjlkLTQ5ZDEtYTcwOS01ZjQ3OGNhNjY3N2IiLCJDb21wYXJlR3VpZHMiOltdLCJWaWV3VHlwZUlEIjoyfSx7IlNjYW5JRCI6ImYwMmYxZjFlLWYwY2UtNDRkMS04N2M5LTBjM2Y3MWM1MGY1NiIsIkNvbXBhcmVHdWlkcyI6W10sIlZpZXdUeXBlSUQiOjZ9LHsiU2NhbklEIjoiOGE5ZjVjMjQtNWQ4Ni00MWFmLWE1YmItZWY1NTkwYjZkZmNmIiwiQ29tcGFyZUd1aWRzIjpbXSwiVmlld1R5cGVJRCI6NH0seyJTY2FuSUQiOiJhNTcxZDI1YS0xZTA5LTQ5MTMtYTZhYi0zMmNmYzM2YTg3MjkiLCJDb21wYXJlR3VpZHMiOltdLCJWaWV3VHlwZUlEIjozfV0=&ReportConfig=1:82
c @ jquery-1.9.1.min.js:3
fireWith @ jquery-1.9.1.min.js:3
ready @ jquery-1.9.1.min.js:3
H @ jquery-1.9.1.min.js:3

Is this maybe a timing issue?  I am initializing the viewer in JS:

$(document).ready(function () {
       console.log("init report viewer");
       $("#reportViewer1")
           .telerik_ReportViewer({
               serviceURL: "../api/reports"
           });
   });
0
Lisa
Top achievements
Rank 1
answered on 24 Sep 2019, 11:50 PM

OK so I managed to resolve the issue in my previous post, which turned out to be an issue with my ReportBook class.  I was thrown by the error message.

Now the viewer displays without error, but it displays "No Page to Display".  I have stepped through and verified that the parameters are being set correctly and both reports display fine individually in the viewer, but as a ReportBook I just get the "No Page to Display" message.  There are no errors in the console.

0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 25 Sep 2019, 09:15 PM

Hi Lisa,

This seems like it could be any number of different things. Off hand, it is possible the serviceUrl for the Client-Side initialization is not accurate. Additionally, I am not sure the best approach is to use the Client-Side initialization with the Server-Side in the way provided. Although, in order to properly troubleshoot this, I would need to see the project. Would you be able to provide the project by attaching it to this thread?

Please let me know if that is an option. Thank you and I look forward to your reply.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Lisa
Top achievements
Rank 1
answered on 25 Sep 2019, 09:37 PM
I've given up on this, it's taking way too long.  We have users screaming about the Chrome print bug.  Someone in the community has posted a fix for the old WebForms viewer.  I have rolled back the upgrade and applied this fix, which took me about 15 minutes.  The bug is fixed so we will not be upgrading.  There is nothing worse than spending hours on code which has been working flawlessly for years for the sake of an upgrade we don't need.  As long as the Chrome bug is resolved, we have no need to upgrade.
0
Eric R | Senior Technical Support Engineer
Telerik team
answered on 25 Sep 2019, 09:53 PM

Hi Lisa,

I completely understand. If you ever need any additional assistance please feel free to create a new ticket. In the meantime, I will move forward with closing this and would like to extend my best regards for the Chrome Printing issue.

Thank you for being a valued Telerik Reporting developer.

Regards,


Eric R | Technical Support Engineer
Progress Telerik

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Tags
General Discussions
Asked by
Lisa
Top achievements
Rank 1
Answers by
Eric R | Senior Technical Support Engineer
Telerik team
Lisa
Top achievements
Rank 1
Share this question
or