This example shows how to integrate the report viewer and report designer into an application. Let's start from viewer. First, import scripts:
using Stimulsoft.Report;
using Stimulsoft.Report.Angular;
using Stimulsoft.Report.Mvc;
using Stimulsoft.Report.Web;

...

Next, initialize the viewer:
...

public ActionResult InitViewer()
{
	var requestParams = StiMvcViewer.GetRequestParams();

	var options = new StiAngularViewerOptions();
	options.Actions.GetReport = "GetReport";
	options.Actions.ViewerEvent = "ViewerEvent";
	options.Appearance.ScrollbarsMode = true;
	options.Toolbar.ShowDesignButton = true;

	return StiAngularViewer.ViewerDataResult(requestParams, options);
}
...

After that, load a report:
...

[AllowCrossSiteJson]
public ActionResult GetReport()
{
	var report = StiReport.CreateNewReport();
	var path = Server.MapPath($"~/Reports/MasterDetail.mrt");
	report.Load(path);

	return StiAngularViewer.GetReportResult(report);
}

...

Finally, process other viewer requests:
...

[AllowCrossSiteJson]
public ActionResult ViewerEvent()
{
	return StiAngularViewer.ViewerEventResult();
}

...

Now, let's continue with designer. First, import scripts:
using Stimulsoft.Report;
using Stimulsoft.Report.Mvc;
using Stimulsoft.Report.Web;

...

Next, initialize the designer:
...

[AllowCrossSiteJson]
public ActionResult Get()
{
	var requestParams = StiMvcDesigner.GetRequestParams();

	if (requestParams.Action == StiAction.Undefined)
	{
		var options = new StiMvcDesignerOptions();
		return StiMvcDesigner.GetAngularScriptsResult(requestParams, options);
	}

	if (requestParams.ComponentType == StiComponentType.Designer)
	{
		switch (requestParams.Action)
		{
			case StiAction.GetReport:
				return GetReport();

			case StiAction.SaveReport:
				return SaveReport();
		}
	}

	return StiMvcDesigner.ProcessRequestResult();
}
		
...

After that, load a report:
...

public ActionResult GetReport()
{
	var report = StiReport.CreateNewReport();
	var path = Server.MapPath("~/Reports/MasterDetail.mrt");
	report.Load(path);

	return StiMvcDesigner.GetReportResult(report);
}


...

Finally, create a method to save report:
...

public ActionResult SaveReport()
{
	var report = StiMvcDesigner.GetReportObject();

	var path = Server.MapPath("~/Reports/MasterDetail.mrt");
	report.Save(path);

	return StiMvcDesigner.SaveReportResult();
}

...

By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.