This example shows how to create a report with the Business Objects collection. Business Objects is an object class data with which the data can be presented in different structures: tables, lists, arrays, etc. This example uses two variants of Business Objects -
IEnumerable
and
ITypedList
.
For example, create two different views -
ViewIEnumerable
and
ViewITypedList
. Each of these views has its own
GetReport
action handler. Also you need to define the
ViewerEvent
action:
@using Stimulsoft.Report.Mvc;
...
@Html.StiNetCoreViewer(new StiNetCoreViewerOptions()
{
Actions =
{
GetReport = "GetReportIEnumerable",
ViewerEvent = "ViewerEvent"
}
})
...
@Html.StiNetCoreViewer(new StiNetCoreViewerOptions()
{
Actions =
{
GetReport = "GetReportITypedList",
ViewerEvent = "ViewerEvent"
}
})
Also we need to add these actions in the controller. The
GetReportIEnumerable
action loads the
IEnumerable
report and register data for it. In a similar way, the
GetReportITypedList
action loads the
ITypedList
report and register data for it:
public IActionResult GetReportIEnumerable()
{
var report = new StiReport();
report.Load(StiNetCoreHelper.MapPath(this, "Reports/BusinessObjects_IEnumerable.mrt"));
report.RegData("EmployeeIEnumerable", CreateBusinessObjectsIEnumerable.GetEmployees());
return StiNetCoreViewer.GetReportResult(this, report);
}
public IActionResult GetReportITypedList()
{
var report = new StiReport();
report.Load(StiNetCoreHelper.MapPath(this, "Reports/BusinessObjects_ITypedList.mrt"));
report.RegData("EmployeeITypedList", CreateBusinessObjectsITypedList.GetEmployees());
return StiNetCoreViewer.GetReportResult(this, report);
}
The
ViewerEvent
action handles all the viewer events (switching pages, zooming, printing, exporting, interactivity, etc.) and returns the answer to the client using the
ViewerEventResult()
static method:
public IActionResult ViewerEvent()
{
StiNetCoreViewer.ViewerEventResult(this);
}
In the screenshot below you can see the result of the sample code: