ReportBook using HTML5 Viewer

14 posts, 0 answers
  1. Lisa
    Lisa avatar
    11 posts
    Member since:
    Jul 2016

    Posted 16 Sep Link to this post

    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

  2. Eric R | Technical Support Engineer
    Admin
    Eric R | Technical Support Engineer avatar
    230 posts

    Posted 18 Sep Link to this post

    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
  3. Lisa
    Lisa avatar
    11 posts
    Member since:
    Jul 2016

    Posted 19 Sep in reply to Eric R | Technical Support Engineer Link to this post

    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

  4. Lisa
    Lisa avatar
    11 posts
    Member since:
    Jul 2016

    Posted 19 Sep in reply to Lisa Link to this post

    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

  5. Eric R | Technical Support Engineer
    Admin
    Eric R | Technical Support Engineer avatar
    230 posts

    Posted 19 Sep Link to this post

    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
  6. Lisa
    Lisa avatar
    11 posts
    Member since:
    Jul 2016

    Posted 19 Sep in reply to Eric R | Technical Support Engineer Link to this post

    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

  7. Eric R | Technical Support Engineer
    Admin
    Eric R | Technical Support Engineer avatar
    230 posts

    Posted 19 Sep Link to this post

    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
  8. Lisa
    Lisa avatar
    11 posts
    Member since:
    Jul 2016

    Posted 22 Sep in reply to Eric R | Technical Support Engineer Link to this post

    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

  9. Eric R | Technical Support Engineer
    Admin
    Eric R | Technical Support Engineer avatar
    230 posts

    Posted 24 Sep Link to this post

    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
  10. Lisa
    Lisa avatar
    11 posts
    Member since:
    Jul 2016

    Posted 24 Sep in reply to Eric R | Technical Support Engineer Link to this post

    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"
               });
       });
  11. Lisa
    Lisa avatar
    11 posts
    Member since:
    Jul 2016

    Posted 24 Sep in reply to Lisa Link to this post

    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.

  12. Eric R | Technical Support Engineer
    Admin
    Eric R | Technical Support Engineer avatar
    230 posts

    Posted 25 Sep Link to this post

    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
  13. Lisa
    Lisa avatar
    11 posts
    Member since:
    Jul 2016

    Posted 25 Sep in reply to Eric R | Technical Support Engineer Link to this post

    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.
  14. Eric R | Technical Support Engineer
    Admin
    Eric R | Technical Support Engineer avatar
    230 posts

    Posted 25 Sep Link to this post

    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
Back to Top