
This is probably just a noob question - and had I done a more thorough job reading through documentation, I'm sure I'd figure it out. However, we're running low on time so I need to check here.
I have a class structure as shown below (very simplified):
public class TestSuite { public String SomeProp { get; set; } public List<TestCase> TestCases { get; set; } } public class TestCase { public String SomeProp { get; set; } public Boolean SomeOtherProp { get; set; } public List<Message> TestCaseMessages { get; set; } } public class Message { public String SomeProp { get; set; } public Boolean SomeOtherProp { get; set; } }In my report I have the following (again simplified) structure
TestSuite header
- List (bound to TestSuite.TestCases)
- List (bound to TestCase.TestCaseMessages)
The outer list (TestCases) works great and I can access properties without issue, however the inner list (bound to TestCaseMessages) never shows any data if I use a DataSource through the DataSource wizard. On the other hand, if I set a Binding on the inner ListBox's DataSource to Fields.TestCaseMessages (relying on the DataSource of the outer list) - I can manually write Fields.SomeProp in bindings on TextBoxes inside the inner list.
I know this sounds a bit confusing - but what I would really like is for the DataSource setup to work through the wizard/property grid and not having to hack it manually. Am I doing something wrong here - or is this a bug?
Regards,
Andreas

I have a web app that was developed in earlier Telerik report viewer.
I am using Stored Procedure to Populate the report data source as well as Session Variable to filter the Report Data. Seems can't able to work in HTML5 Format. Below are my Web Form and code file. Any Help will be appreciated for a sample application or link . Thanks
gc_0620
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // this.ReportViewer1.RefreshReport(); // Response.AppendHeader("X-UA-Compatible", "IE=edge"); string[] retrievedLocations = (string[])Session["FacilityData"]; Array.Sort(retrievedLocations); for (int i = 0; i < retrievedLocations.Length; i++) { if (i == 0) { location = "" + retrievedLocations[i] + ","; // Add a comma if data already exists } else { location += "" + retrievedLocations[i] + ","; } } location = location.Substring(0, location.Length - 1); Reports.Intake_Coordinator_CM_Assignments myReport = new Reports.Intake_Coordinator_CM_Assignments(); string sql = "[dbo].[Intake_Coordinator_Report_Source]"; SqlCommand command = new SqlCommand(sql, new SqlConnection(connectionString)); command.CommandType = CommandType.StoredProcedure; var sqlparam = new SqlParameter("@location", SqlDbType.NVarChar); sqlparam.Value = location; //outer value command.Parameters.Add(sqlparam); DataSet dataSet = new DataSet(); adapter.Fill(dataSet); myReport.DataSource = dataSet.Tables[0];//outer data source string Tempstr = command.CommandText.ToString(); string Tempstr1 = Tempstr; var reportSourceInstance1 = new InstanceReportSource() { ReportDocument = myReport }; ReportViewer1.ReportSource = reportSourceInstance1; } }________________________Web Form.<%@ Page Title="Intake CM Assignments Report" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"CodeFile="Intake_Coordinator_CM_Assignments_Report.aspx.cs"Inherits="Intake_Coordinator_CM_Assignments_Report" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register Assembly="Telerik.ReportViewer.WebForms, Version=12.1.18.620, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" Namespace="Telerik.ReportViewer.WebForms" TagPrefix="telerik" %><asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> <link href="styles.css" rel="stylesheet" type="text/css" /></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <asp:Panel runat="server" ID="Panel2" Visible="True" CssClass="form_header_label"> <asp:Label ID="Label1" runat="server" Text="Intake YTD Status" Font-Size="14px" Font-Bold="true" Font-Underline="True"></asp:Label> </asp:Panel> <br /> <br /> <br /> <div> <telerik:ReportViewer ID="ReportViewer1" runat="server" Style="border: 1px solid #ccc;" Height="650px" Width="95%" Skin="Office2007"> <typereportsource typename="Reports.Intake_Coordinator_CM_Assignments, Reports, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"></typereportsource> </telerik:ReportViewer> </div></asp:Content>

Hello,
We use this software to generate reports for our users. We also offer the option for our users, to create an image that will be used as a watermark in the reports. One of our users created a watermark that is causing us some issues. I was hoping to find an answer here.
I attached a file similar to our users watermark file in this thread.
What our user made, is a watermark image, the size of an A4 page. This is used as a watermark in a report. It looks good when looking at the print preview, or when it is downloaded as a PDF file, meaning, it is all on 1 page. But, when it is downloaded as a RTF file, a blank extra page appears. This extra page looks to be there because an ENTER is added at the end of the file. This enter is displayed on the second page, after the watermark image.
My question is, how can I avoid the extra page in RTF format (PDF and print preview are OK, only 1 page)
With kind regards


I am trying to upgrade a visual studio 2015 mvc application from R3 2016 to R3 2018. The upgrade wizard reported that it successfully upgraded the solution, but it didn't. I manually added the new libraries and fixed the reportviewer code and api code. Unfortunately I cannot get the parameter area to show for any reports. My project contains the following references:
Telerik.Reporting.dll (12.2.18.1017)
Telerik.Reporting.Services.WebApi (12.2.18.1017)
Telerik.ReportViewer.Mvc (12.2.18.1017)
The code for the view is as follows - note that I tried explicitly setting the parameter area visible in the code and I also have clicked the parameter toggle on the toolbar once the report loads - neither had any effect.
@model MTE.MVC.Models.ReportModel@{ ViewBag.Title = "Reports"; MTE.MVC.MTEIdentity currentUser = null; if (Request.IsAuthenticated) { currentUser = (User as TACSecurity.TSPrincipal).Identity as MTE.MVC.MTEIdentity; }}@section styles{ @Styles.Render("~/Reports/styles/telerikReportViewer.css") <style> #reportViewer1 { position: relative; width: 100%; height: 750px; font-family: 'segoe ui', 'ms sans serif'; overflow: hidden; } </style>}<div class="container-fluid"> <div class="row"> <div class="col-xs-12"> <div class="form-inline"> <div class="form-group" id="grpCategory"> <label class="control-label">Category</label> @(Html.Kendo().DropDownList().Name("cboCategory").HtmlAttributes(new { style = "width:200px" }) .DataSource(d => d .Read("GetReportCategories", "Reporting") .Events(events => events.Error("kendoErrorHandler")) ) ) </div> <div class="form-group"> <label class="control-label">Report</label> @(Html.Kendo().DropDownList().Name("cboReport").HtmlAttributes(new { style = "width:400px" }) .DataTextField("ReportName") .DataValueField("ReportUri") .DataSource(d => d .ServerFiltering(true) .Read(read => read.Action("GetReportNames", "Reporting").Data("paramCategory")) .Events(events => events.Error("kendoErrorHandler")) ) .CascadeFrom("cboCategory") .AutoBind(false) ) </div> <div class="form-group"> <button type="button" class="btn btn-primary" onclick="btnReportClick()">Load</button> </div> </div> </div> </div> <br /> <div class="row"> <div class="col-xs-12"> @(Html.TelerikReporting().ReportViewer() .Id("reportViewer1") .ServiceUrl("/api/reportsapi/") .ReportSource("Default Report.trdx") .ViewMode(ViewMode.Interactive) .ScaleMode(ScaleMode.Specific) .Scale(1.0) .PersistSession(false) .PrintMode(PrintMode.AutoSelect) .EnableAccessibility(false) .SearchMetadataOnDemand(false) .SendEmail(new SendEmail { Enabled = true }) .Deferred() ) </div> </div></div>@section scripts{<script src="@Url.Content("~/Reports/js/telerikReportViewer.kendo-12.2.18.1017.min.js")"></script><script src="@Url.Content("~/Reports/js/telerikReportViewer-12.2.18.1017.js")"></script> @(Html.TelerikReporting().DeferredScripts())}<script type="text/javascript"> $(document).ready(function () { @if(currentUser.Role == MTE.MVC.Roles.Customer || currentUser.Role == MTE.MVC.Roles.Hauler) { @:$("#grpCategory").hide(); } // $("#cboReport").data("kendoDropDownList").dataSource.read(); }); function paramCategory() { @if(currentUser.Role == MTE.MVC.Roles.Customer) { @:return { category: "Customers" }; } else if(currentUser.Role == MTE.MVC.Roles.Hauler) { @:return { category: "Haulers" }; } else { @:return { category: $("#cboCategory").val() }; } } function btnReportClick() { var category; var cboReport = $("#cboReport").data("kendoDropDownList"); @if(currentUser.Role == MTE.MVC.Roles.Customer) { @:category = "Customers"; } else if(currentUser.Role == MTE.MVC.Roles.Hauler) { @:category = "Haulers"; } else { @:category = $("#cboCategory").val(); } var viewer = $("#reportViewer1").data("telerik_ReportViewer"); var report = $("#cboReport").val(); if (report != null && report != "") { var reportName = cboReport.dataItem(cboReport.select()).ReportName; $.ajax({ type: "POST", url: '@Url.Action("ReportAuditHandler", "Reporting")', data: { reportName: reportName } }); viewer.reportSource({ report: report, }); viewer.refreshReport(); } else { alert("No report chosen - please choose a report"); } }</script>My company is implementing reporting via Angular and a REST service. I've done some research and tinkered with the rendering extensions but I've been unable to determine if it's possible to render an interactive report, save it to some location, and load the report viewer at a later time.
For example:
1) A user schedules an interactive report in our system for a later date.
2) A batch job calls the Report REST Service at the scheduled date and time to render the interactive report and save it some location.
3) The user returns to the system at a later date and the interactive report is then loaded into the Report Viewer, rather than having Report Viewer call the REST service directly.
Is this even possible? Or will we have to settle for saving scheduled reports as PDFs?
Any and all information is appreciated!

Hi,
We are displaying report using HTML5 report viewer in our angularjs application (calling $("#container").telerik_ReportViewer(options)). When the user navigates to another report or another page the report generation and api calls(to get instances and documents) should be cancelled. Is there any way to do it?
Regards,
Majar
