Hi,
I am using Telerik Reporting with my asp.net mvc application, I developed a report in a separate library and browsed it with reportviewer sample successfully. But when I wanted to load the reportviewer page as a part of my _Layout page it didn't displayed, when I browsed to the console I found the bellow error :
Uncaught ReferenceError: jQuery is not defined
at telerikReportViewer.kendo-12.0.18.117.min.js:2
at telerikReportViewer.kendo-12.0.18.117.min.js:2
I found that my _Layout page is using a newer jQuery version rather than report viewer. I cannot change the version of jQuery in the _Layout page as every thing is going puzzled, what are the ways to fix this problem?
My _Layout page jQuery version is: jQuery v2.2.4
I have a reporting library project with MVC what I am trying to do is bind the data table to the report viewer and display it my MVC page as I am newbie Telerik what is the best way to display the data table in the viewer by using fields
public DataTable data()
{
DataTable table = new DataTable();
DataRow dr = table.NewRow();
dr["Name"] = "Lion";
dr["Type"] = "Mammal";
table.Rows.Add(dr);
return table;
}
public DataTable Getdata()
{
var d1 = data();
return d1;
}
@(Html.TelerikReporting().ReportViewer()
// Each report viewer must have an id - it will be used by the initialization script
// to find the element and initialize the report viewer.
.Id("reportViewer1")
// The URL of the service which will serve reports.
// The URL corresponds to the name of the controller class (ReportsController).
// For more information on how to configure the service please check http://www.telerik.com/help/reporting/telerik-reporting-rest-conception.html.
.ServiceUrl(Url.Content("/api/reports"))
// The URL for custom report viewer template. The template can be edited -
// new functionalities can be added and unneeded ones can be removed.
// For more information please check http://www.telerik.com/help/reporting/html5-report-viewer-templates.html.
// .TemplateUrl(Url.Content("/ReportViewer/templates/telerikReportViewerTemplate-10.1.16.615.html"))
// Strongly typed ReportSource - TypeReportSource or UriReportSource.
.ReportSource(new TypeReportSource() { TypeName = typeof(ReportLibrary1.Databinding.Report1).AssemblyQualifiedName })
// Specifies whether the viewer is in interactive or print preview mode.
// PrintPreview - Displays the paginated report as if it is printed on paper. Interactivity is not enabled.
// Interactive - Displays the report in its original width and height with no paging. Additionally interactivity is enabled.
.ViewMode(ViewMode.Interactive)
// Sets the scale mode of the viewer.
// Three modes exist currently:
// FitPage - The whole report will fit on the page (will zoom in or out), regardless of its width and height.
// FitPageWidth - The report will be zoomed in or out so that the width of the screen and the width of the report match.
// Specific - Uses the scale to zoom in and out the report.
.ScaleMode(ScaleMode.Specific)
// Zoom in and out the report using the scale
// 1.0 is equal to 100%, i.e. the original size of the report
.Scale(1.0)
// Sets whether the viewer’s client session to be persisted between the page’s refreshes(ex. postback).
// The session is stored in the browser’s sessionStorage and is available for the duration of the page session.
.PersistSession(false)
// Sets the print mode of the viewer.
.PrintMode(PrintMode.AutoSelect)
)
Hi, I am sure I am missing the obvious but...
Is there a way to obtain the current parameter values from a reportViewer on the client (html) side?
I have a report viewer that works along side a menu that offers several reports that are fundamentally related and all share the same parameters. When the user makes a change (for example the date range), and then chooses one of the other reports, I want to ensure the same date range is pre-selected.
Is this possible? or do I have to supply my own parameter controls and steal the values from that, seems a lot of work in comparison to just having access to a collection of current parameter values, something like ..
var viewer = $("#reportViewer1").data("telerik_ReportViewer");
var currentParams = viewer.reportSource.parameters;
viewer.reportSource( {
report: reportDefinition
, parameters: currentParams
});
Many thanks
private void detail_ItemDataBinding(object sender, EventArgs e)
{
// Get the detail section object from sender
Telerik.Reporting.Processing.DetailSection section = (Telerik.Reporting.Processing.DetailSection)sender;
// From the section object get the current DataRow
Telerik.Reporting.Processing.IDataObject dataObject = (Telerik.Reporting.Processing.IDataObject)section.DataObject;
object rowdata = (object)section.DataObject.RawData;
if ((dataObject["EEODStatement"] == null) || (dataObject["EEODStatement"].ToString().Length == 0))
{
Telerik.Reporting.Processing.Table table1 = (Telerik.Reporting.Processing.Table)section.ChildElements.Find("table1", true)[0];
// Here I want to access a particular tablerow object and hide it
}
}
Hello,
I am facing an error when I try to open a report which is located in .vb from my MVC View Reportviewer is this a compatibility issue can it be resolved please help!
Error creating report instance (Report = HMB2BReport.rptAirlineListPrint, HMB2BReport, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null).
An error has occurred.
Invalid report type
Hello,
I'm having an issue displaying data on the report I have.
I am using ReportDesigner tool to create report file which I want to be rendered however, when If I add text =Fields.WeekStartDate or =Fields.Lines im not getting anything.
This what I have:
Report is rendered by using ReportResolverBase class method: ReportSource ResolveReport()
protected override ReportSource ResolveReport(string reportId)
{
return reportHelper.GetReportSource(reportId);
}
public ReportSource GetReportSource(string reportId)
{
var reportSource = new InstanceReportSource();
reportSource.ReportDocument = Telerik.Reporting.Report Report;
report.DataSource = new ObjectDataSource(model, null); // model structure below
}
var model = new List<
Foo
>();
class Foo {
public string WeekStartDate { get; set; }
public string Year { get; set; }
public string WeekOfTheYear { get; set; }
public IEnumerable<
Bar
> Lines { get; set; }
}
class Bar {
public string DueDate { get; set; }
public string EQCode { get; set; }
public string EQDescription { get; set; }
public string WSDescription{ get; set; }
}
My ultimate goal is to display Foo items on separate pages something like that:
DetailSection:
WeekStartDate ........................................ Year ....................... WeekOfTheYear............................
DueDate EQCode EQDescription WSDescription
DueDate EQCode EQDescription WSDescription
DueDate EQCode EQDescription WSDescription
DueDate EQCode EQDescription WSDescription (for each Line)
is there a way to achive that?
Thanks in advance!
Hi,this is my first time using Telerik Reporting and having some problems....
I added to my Solution a "Telerik Reporting Library R1 2018"
Then added a EDMX file with a couple of tables. Then add a Report "Report1.cs"
Using the Report Designer on Visual Studio:
1.- Add a Entitity DataSource (using the EDMX added before).
2.- Using a table wizard to see the rows of a Table.
When i Press "Preview" tab it shows this error:
Each table row and column maintains a minimum size, resulting in a minimum table
size of {Width=10px, Height=10px}.
And if I try to render it (using c#) to PDF the pdf shows this error too:
An error has occurred while processing Table 'table2':
An error has occurred while resolving 'entityDataSource1' data source: An error occurred while invoking data
retrieval method.
------------- InnerException -------------
No connection string named 'SAOO_ProductionEntities' could be found in the application config file.
But my application Config has the line with the
<
add
name
=
"SAOO_ProductionEntities"
..../>
So, wich is the problem? Telerik Reporting have been installed with the MSI package.
Thanks.
Hello, I'm using: Telerik Report Designer (Versión 8.2.14.2017). My issue:
I need to display every record to start on a new page, for example, if Item "1" needs 1.5 pages to be dispalyed, then the next Item "2" must start in page 3 (not in page 2) and so on...
I have a Group Header Section and also a Group Footer Section and they are working as espected.
I have tried a lot of combinations on PageBreak and Keep Together properties and is not working.
Regards, thanks for your help.
David
There is a way to customize the report with LINQ?
I did this but I made it work
public class ReportController : Controller
{
// GET: Report
public ActionResult Index()
{
Uri uri = HttpContext.Request.Url;
var changeReport = new ReportController().Identification(1, uri);
return View(new ReportModel() { TheReport = changeReport});
}
@(Html.TelerikReporting().ReportViewer()
.Id("reportViewer1")
.ServiceUrl(Url.Content("~/api/reports"))
.TemplateUrl(Url.Content("~/Content/ReportViewer/templates/telerikReportViewerTemplate.html"))
.ReportSource(Model.TheReport)
.ViewMode(ViewMode.Interactive)
.ScaleMode(ScaleMode.Specific)
.Scale(1.0)
.PersistSession(false)
.PrintMode(PrintMode.AutoSelect)
.EnableAccessibility(false)
.Deferred()
)
//This is what I do
DBContext db = new DBContext();
var data = db.Patient.FirstOrDefault();
var name = data.FirstName + " " + data.LastName;
var txtName= ((Telerik.Reporting.TextBox)report.Items.Find("txtName", true)[0]);
txtName.Value = !string.IsNullOrEmpty(name) ? name.Trim() : empty;
// in asp.net webforms I did it this way and it worked
var instanceReportSource = new Telerik.Reporting.InstanceReportSource {ReportDocument = report};
ReportViewer.ReportSource = instanceReportSource;
ReportViewer.RefreshReport();
Does anyone know how to do this in asp.net mvc?