I am working on a report that consists of a table of values. I have used HTML text boxes in the table as my data is stored in HTML format.
When running the report, it mostly works. However, since the HTML box can't handle embedded image files, I will receive an error for that one cell in the table. This causes the report to expand greatly and push data to other pages.
Is there an expression that can be run to test the value to see if Telerik can render it first? Like an If Error() expression.

I've added a special logic on the backend of our reports to automatically measure table column widths.
The actual logic works on the preview mode of the designer but when compiled into a .trdp it doesn't work anymore. It's not being called anymore and I'm sure its not called because i added logging on the backend code.

Hi,
I am using html 5 and html chart at the same page, if I set html chart viable to false the report shows well.
If I set the html chart viable to true the html chart will show and the html 5 report will be blank.
Is there a way that do not reset the report with html chart rendering?
I need to show side be side html chart and html5 report at the same page.
Regards,
Omar
Hi,
I am suffering from slow rendering issue. My data source has more than 1 million records to render. I attached the sample CSV file and report definition.

I am using the most-current version of Telerik Reporting. I am testing with a very simple MVVM solution. The report only has a report header page with a text block in it. I have the report viewer in the main window and bound to the reportsource in the viewmodel. The report will not display. I have looked at several examples and do this same thing but none work for me.
public class MainWindowViewModel : ViewModelBase { private string MessageValue = "Nothing to see here..."; public string Message { get => MessageValue; set { MessageValue = value; RaisePropertyChanged(); } } private Telerik.Reporting.ReportSource ReportValue; public Telerik.Reporting.ReportSource Report { get => ReportValue; set { ReportValue = value; RaisePropertyChanged(); } } public void RunReport() { Message = "Begin report run..."; Task.Run(() => { System.Threading.Thread.Sleep(5000); App.Current.Dispatcher.BeginInvoke(new Action(() => { var rs = new Telerik.Reporting.InstanceReportSource() { ReportDocument = new Report1() }; this.Report = rs; Message = "Report complete."; })); }); } }
<Window x:Class="ReportingTest.MainWindow" xmlns:local="clr-namespace:ReportingTest" xmlns:telerik="http://schemas.telerik.com/wpf" DataContext="{Binding MainWindowViewModel, Source={StaticResource ModelLocator}}" mc:Ignorable="d" Loaded="Window_Loaded" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries /> </ResourceDictionary> </Window.Resources> <Grid x:Name="LayoutRoot"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Height="25" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Message}" /> <telerik:ReportViewer Grid.Row="1" ViewMode="PrintPreview" VerticalAlignment="Stretch" ReportSource="{Binding Report}" HorizontalAlignment="Stretch" /> </Grid></Window>I looked for a long time for this information. I watched YouTube videos, went to blogs, and contacted Telerik support. I decided when I figured this out I was going to post the code so that someone else would not have to struggle with figuring this out like I did. Support helped and pointed me in the right direction to put this together but no easy example to go by. Below is the code for the HTML5 Report Viewer that I use and seems to work exactly like I wanted. It is javascript that parses the URL string and then is fed to the parameters of your report. The only part of this that you should have to change is the the section that is called "reportSource:" the parameters section. In the example below change the first part "TransMonth: " to the name of the parameter you used in your report and change the name at the end to what your URL parameter is called " getParameterByName('TransMonth') " Mine were named the same for simplicity. See the entire code below. Also some of the js and css files have custom paths in the example below. Adjust yours accordingly. I'm far from an expert at this but I know it took me a while to get this working and I thought if I could save someone else this headache I would.
01.<!DOCTYPE html>02.<html xmlns="http://www.w3.org/1999/xhtml">03.<head>04. <title>Form My Report</title>05. 06. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />07. <meta http-equiv="X-UA-Compatible" content="IE=edge" />08. 09. <script src="ReportViewer/js/jquery-1.9.1.min.js"></script>10. 11. <link href="ReportViewer/CSS/kendo.common.min.css" rel="stylesheet" />12. <link href="ReportViewer/CSS/kendo.blueopal.min.custom.css" rel="stylesheet" />13. 14. <!--kendo.web.min.js or kendo.all.min.js can be used as well instead of the following custom Kendo UI-->15. <script src="ReportViewer/js/telerikReportViewer.kendo-12.0.18.416.min.js"></script>16. 17. <script src="ReportViewer/js/telerikReportViewer-12.0.18.416.min.js"></script>18. 19. <style>20. #reportViewer1 {21. position: absolute;22. left: 5px;23. right: 5px;24. top: 5px;25. bottom: 5px;26. overflow: hidden;27. font-family: Verdana, Arial;28. }29. </style>30.</head>31.<body>32. 33. <div id="reportViewer1">34. loading...35. </div>36. 37. <script type="text/javascript">38. function getParameterByName(name, url) {39. if (!url) url = window.location.href;40. name = name.replace(/[\[\]]/g, "\\$&");41. var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),42. results = regex.exec(url);43. if (!results) return null;44. if (!results[2]) return '';45. return decodeURIComponent(results[2].replace(/\+/g, " "));46. }47. $(document).ready(function () {48. $("#reportViewer1")49. .telerik_ReportViewer({50. 51. // The URL of the service which will serve reports.52. // The URL corresponds to the name of the controller class (ReportsController).53. // For more information on how to configure the service please check http://www.telerik.com/help/reporting/telerik-reporting-rest-conception.html.54. serviceUrl: "api/reports",55. 56. // The URL for custom report viewer template. The template can be edited -57. // new functionalities can be added and unneeded ones can be removed.58. // For more information please check http://www.telerik.com/help/reporting/html5-report-viewer-templates.html.59. templateUrl: 'ReportViewer/templates/telerikReportViewerTemplate_custom.html',60. 61. //ReportSource - report description62. reportSource: {63. // The report can be set to a report file name (trdx report definition) 64. // or CLR type name (report class definition).65. report: "ReportApplication.FormMyReport, ReportApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", parameters: {66. TransMonth: getParameterByName('TransMonth'),67. TransYear: getParameterByName('TransYear'),68. PrevMonth: getParameterByName('PrevMonth'),69. ItemName: getParameterByName('ItemName')70. },71. 72. // Specifies whether the viewer is in interactive or print preview mode.73. // PRINT_PREVIEW - Displays the paginated report as if it is printed on paper. Interactivity is not enabled.74. // INTERACTIVE - Displays the report in its original width and height without paging. Additionally interactivity is enabled.75. viewMode: telerikReportViewer.ViewModes.INTERACTIVE,76. 77. // Sets the scale mode of the viewer.78. // Three modes exist currently:79. // FIT_PAGE - The whole report will fit on the page (will zoom in or out), regardless of its width and height.80. // FIT_PAGE_WIDTH - The report will be zoomed in or out so that the width of the screen and the width of the report match.81. // SPECIFIC - Uses the scale to zoom in and out the report.82. scaleMode: telerikReportViewer.ScaleModes.SPECIFIC,83. 84. // Zoom in and out the report using the scale85. // 1.0 is equal to 100%, i.e. the original size of the report86. scale: 1.0,87. enableAccessibility: false,88. 89. ready: function () {90. //this.refreshReport();91. },92. }93. });94. });95. </script>96. 97.</body>98.</html>I have created Reporting Projects which are RestService, and ReportLibrary. These two projects will be integrated with another project. The problem is Reporting Project can't get httpcontext that send from another project. I tried to figure out the problem and i found that it was success to receive the httpcontext in RestService(as image Success001, Success002) but ReportLibrary cannot(as image Failed001, Failed002). You can see example images that attach with this post.
Has anyone found this? or any suggestion?
Thank you
