Информация

 

В следствие того, что для панелей индикаторов (дашбордов) и отчетов используется одинаковый унифицированный формат шаблона MRT, методы для загрузки шаблона и работы с данными, то в тексте документации будет использоваться слово «отчет».

 

 

 

Для HTML5 Designer предусмотрено несколько вспомогательных методов, которые предназначены для получения объекта редактируемого в данный момент отчета, параметров текущего состояния дизайнера и других полезных данных. Эти методы можно использовать в действиях дизайнера.

 

Метод GetReportObject()

 

Возвращает объект отчета, с которым в данный момент работает дизайнер. Допускается производить с ним необходимые манипуляции - регистрировать новые наборы данных, изменять свойства отчета, присваивать параметры либо загружать в объект другой отчет. Затем отчет можно вернуть дизайнеру, указав его в качестве параметра в результирующем методе действия.

 

HomeController.cs

...

public ActionResult ExportReport()

{

StiReport report = StiMvcDesigner.GetReportObject();

report.ReportName = "MyReportName";

 

return StiMvcDesigner.ExportReportResult(report);

}

...

 

 

Метод GetActionReportObject()

 

Возвращает объект отчета, который будет использоваться для конкретного действия. Например, для действия OpenReport данный метод вернет отчет, загруженный с локального диска компьютера. Для действия PreviewReport метод вернет подготовленную копию отчета для предварительного просмотра.

 

HomeController.cs

...

public ActionResult OpenReport()

{

StiReport report = StiMvcDesigner.GetActionReportObject();

 

// Register data for the opened report, if necessary

DataSet data = new DataSet("Demo");

data.ReadXml(Server.MapPath("~/Content/Data/Demo.xml"));

report.RegData(data);

report.Dictionary.Synchronize();

 

return StiMvcDesigner.GetReportResult(report);

}

...

 

 

Метод GetRouteValues()

 

Возвращает значения маршрутов для URL, с которыми была открыта страница дизайнера. Таким образом, предоставляется возможность получить исходную коллекцию параметров страницы запуска дизайнера и использовать эти значения для каких-либо проверок и условий.

 

HomeController.cs

...

public ActionResult ExportReport()

{

RouteValueDictionary routeValues = StiMvcDesigner.GetRouteValues();

 

return StiMvcDesigner.ExportReportResult();

}

...

 

 

Также можно получить значения параметров URL по имени параметра, указав его в качестве параметра вызываемого действия дизайнера.

 

HomeController.cs

...

public ActionResult ExportReport(string id)

{

return StiMvcDesigner.ExportReportResult();

}

...

 

 

Метод GetRequestParams()

 

Возвращает все параметры текущего состояния дизайнера, переданные на сторону сервера. Они могут быть полезны для определения типа действия, которое в данный момент выполняет дизайнер – например, для определения типа экспорта, а также всех параметров действия.

 

HomeController.cs

...

public ActionResult ExportReport()

{

StiRequestParams requestParams = StiMvcDesigner.GetRequestParams();

if (requestParams.ExportFormat == StiExportFormat.Pdf)

{

StiReport report = StiMvcDesigner.GetReportObject();

 

// Some action with report for the PDF export

// ...

 

return StiMvcDesigner.ExportReportResult(report);

}

 

return StiMvcDesigner.ExportReportResult();

}

...

 

 

Метод GetExportSettings()

 

Возвращает все параметры текущего экспортирования отчета. Тип объекта параметров будет соответствовать типу экспорта, выбранному в меню предварительного просмотра отчета. Любые параметры экспорта можно изменить и передать на вход результирующего метода. В этом случае, экспортирование отчета будет произведено с переданными параметрами.

 

HomeController.cs

...

public ActionResult ExportReport()

{

StiExportSettings settings = StiMvcDesigner.GetExportSettings();

if (settings.GetExportFormat() == StiExportFormat.Pdf)

{

StiPdfExportSettings pdfSettings = (StiPdfExportSettings)settings;

pdfSettings.EmbeddedFonts = true;

pdfSettings.AllowEditable = StiPdfAllowEditable.No;

return StiMvcDesigner.ExportReportResult(settings);

}

 

return StiMvcDesigner.ExportReportResult();

}

...