In trying to use the HTML 5 Web Form Viewer from the 2015 Q2 release I have ran into one issue. What I am trying to do is use viewer as a generic viewer for one of several reports that will will be loaded later. Each report is different with different parameters, etc.
I am not looking to set a report source at page load or beforehand. But everytime I do not set the report source it receive and Object reference not set....
Is it possible to use html 5 web report viewer server control without setting the reportsource before runtime?
Hello Telerik,
I have certain group hierarchy in cross tab report. I want to show group data value always for the child record also . Please see the attached image for more clarification.
Thanks,
Pritesh Akhani
Hi,
I am using object datasource in my application and ReportDesigner as described here:
http://www.telerik.com/support/kb/reporting/details/how-to-use-external-assemblies-with-custom-user-functions-in-the-report-designer
My solution is to copy reportdesigner exe and config file into my project dir and add relative path to build dir (bin/Debug) of my application.
This was ok for 2015 Q1. When I switched to 2015 Q2 reportdesigner stopped working with this exception:
[2015-09-15 09:58] FATAL: An error has occurred. Restarting...
System.ArgumentException: 'Telerik.Windows.Controls.TransitionEffects.FadeTransition' is not a valid value for the 'Telerik.Windows.Controls.RadFluidContentControl.Transition' property on a Setter.
at System.Windows.Setter.Seal()
at System.Windows.SetterBaseCollection.Seal()
at System.Windows.Style.Seal()
at System.Windows.StyleHelper.SealIfSealable(Object value)
at System.Windows.ResourceDictionary.SealValue(Object value)
at System.Windows.ResourceDictionary.SealValues()
at System.Windows.ResourceDictionary.AddOwner(DispatcherObject owner)
at System.Windows.ResourceDictionary.PropagateParentOwners(ResourceDictionary mergedDictionary)
at System.Windows.ResourceDictionary.OnMergedDictionariesChanged(Object sender, NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)
at Telerik.ReportDesigner.App.MergeResourceDictionaries()
at Telerik.ReportDesigner.WorkbenchHost.RunWorkbench()
at Telerik.ReportDesigner.WorkbenchHost.Start()
Finding cause of this problem was not easy. It looks like this line in reportdesigner config file:
<probing privatePath="bin\Debug"/>
makes reportdesigner to load telerik assemblies from this location instead of program files and reportdesigner uses different version of telerik assembiles than my application.
I changed probing to reporting\bin\Debug where my assembly for reporting is build and problem was fixed. Of course this works because my reporting.dll assembly does not depend on telerik libraries.
But proper solution force reportdesigner to load all telerik assemblies with version it was compiled against.
Getting exception after adding new report in report book
{"message":"","exceptionMessage":"Index was out of range. Must be non-negative and less than the size of the collection.\r\nParameter name: index","exceptionType":"Telerik.Reporting.Services.Engine.DocumentRenderException","stackTrace":" at Telerik.Reporting.Services.Engine.Document.GetDocumentInfo()\r\n at Telerik.Reporting.Services.Engine.ReportEngine.GetDocumentInfo(String clientID, String instanceID, String documentID)\r\n at Telerik.Reporting.Services.WebApi.ReportsControllerBase.GetDocumentInfo(String clientID, String instanceID, String documentID)\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext()"}
Hi All,
I have been using report viewer from past many months with textbox layout for detail section.
Recently I switched from textbox layout to Table layout for detail section owing to issues like anchoring etc.
Now, I am facing a big issue of pagination where in all the data of the report is getting displayed on a single page.
There was no such issue with textbox layout.
Any help shall be appreciated.
Regards,
Anurag
Created a report in the standalone designer and need to utilize it form within Visual Studio. I have a parameter in both the SQL query and a report parameter, both named Cust_ID.
In trying to utilize the uriReportSource, as described in other forum posts, I get an error message as seen in the attached screenshot.
The statement.trdx is in the same directory as my view_statement.aspx page that is trying to render it within the rptstatement viewer.
This is my code:
Public
Class
view_statement
Inherits
System.Web.UI.Page
Protected
Sub
Page_Load(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.Load
If
Not
IsPostBack
Then
Dim
report
As
New
Telerik.Reporting.UriReportSource()
report.Uri =
"statement.trdx"
If
Request(
"Cust_ID"
) IsNot
Nothing
Then
Dim
CustID
As
Integer
= 0
If
Integer
.TryParse(Request(
"Cust_ID"
).ToString(), CustID)
Then
report.Parameters.Add(
New
Telerik.Reporting.Parameter(
"Cust_ID"
, CustID))
End
If
End
If
rptStatement.ReportSource = report
End
If
End
Sub
End
Class
Where am I going wrong?
Thank you,
David
My site is deployed to IIS and is hosting the HTML5 ReportViewer. When accessing the ServiceURL over HTTP everything is working. When access the ServiceURL over HTTPS I'm getting an error "CANNOT POST /myreports/api/reports/clients".
Am I missing a step here ?
BTW - My site is a NodeJS site, hosted on IISNode, with an Angular front-end.
Thanks,
Ciaran
[Serializable]
public class WorkOrder
{
public long WorkOrderId { get; set; }
public virtual ICollection<
WorkOrderItem
> WorkOrderItems { get; set; }
}
[Serializable]
public class WorkOrderItem
{
public long WorkOrderItemId { get; set; }
public long WorkOrderId { get; set; }
public int Type { get; set; }
}
Each subreport selects from the table WorkOrderItems. The subreport that does not repeat records has a select statement of
SELECT * FROM WorkOrderItems
WHERE (Type = 2)
ORDER BY StartDate
The subreport that repeats has a select statement of
SELECT * FROM WorkOrderItems
WHERE (Type = 1 OR Type = 3) AND (Quantity > 0)
ORDER BY Type DESC
The subreport contains a table that lists all WorkOrderItems. If there are 5 items in the query, the subreport is displayed 5 times. If there are 2 items, the subreport is displayed 2 times. I can tell the subreport is being called multiple times because I get the complete header. Also, I get an extra record in the table that contains no data.
This is a huge project and I can post some code if needed, but it would take quite a bit of work to pare it down. And then who knows if the error will disappear or not.
This is all being used in an MVC project to show the report as a PDF to the user. Here is the code I am using to generate the report.
WorkOrder workOrder = Repository.WorkOrderByKey(id);
ReportWorkOrder report = new ReportWorkOrder();
report.DataSource = workOrder;
ReportProcessor reportProcessor = new ReportProcessor();
RenderingResult result = reportProcessor.RenderReport("PDF", report, null);
return File(result.DocumentBytes, "application/pdf", "WorkOrder.pdf");
Any help would be greatly appreciated.
Thanks
I would like to set the Datasource of my report to a business object (ObjectDataSource) that has all of it's data already populated. ie. when the report requests the data, it does not need to go out to any datastore to retrieve it, the object is already initialized with the data it requires.
I have a class with a method that returns a list of objects.
public
class
SummaryReportData
{
public
List<SummaryData> RetrieveData( )
{
return
SummaryDataList;
}
public
List<SummaryData> SummaryDataList {
get
;
set
; }
}
When I am launching my report, I am retrieving the data I would like to display from my data service, and setting it on the object that the report will be requesting the data from. Like so:
var report =
new
MonthlySummaryReport();
var dataObject =
new
SummaryReportData();
dataObject.SummaryDataList = someDataService.GetSummaryReportData(100);
report.DataSource = dataObject;
ReportToDisplay =
new
InstanceReportSource();
ReportToDisplay.ReportDocument = report;
(this is a wpf application, so I am databinding the 'ReportToDisplay' report source to the viewer. This works as expected)
I then have the report setup to use an ObjectDataSource, Business Object set to "SummaryReportData", and the DataMember is set to "RetrieveData".
What ends up happening is, even though I have pre-initialized the SummaryReportData object with my data, when the report renders it is creating a new instance of that object, calling it's constructor, and then calling the "RetrieveData" method, which returns an empty list.
How do I get the report to use the object instance I am supplying it, instead of recreating it when it launches?