Информация

 

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

 

 

 

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

 

 

Метод GetReportObject()

 

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

 

HomeController.cs

...

public IActionResult ExportReport()

{

StiReport report = StiNetCoreDesigner.GetReportObject(this);

report.ReportName = "MyReportName";

 

return StiNetCoreDesigner.ExportReportResult(this, report);

}

...

 

 

Метод GetActionReportObject()

 

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

 

HomeController.cs

...

public IActionResult OpenReport()

{

StiReport report = StiNetCoreDesigner.GetActionReportObject(this);

 

// Register data for the opened report, if necessary

DataSet data = new DataSet("Demo");

data.ReadXml(StiNetCoreHelper.MapPath(this, "Data/Demo.xml"));

report.RegData(data);

report.Dictionary.Synchronize();

 

return StiNetCoreDesigner.GetReportResult(this, report);

}

...

 

 

Метод GetRouteValues()

 

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

 

HomeController.cs

...

public IActionResult ExportReport()

{

RouteValueDictionary routeValues = StiNetCoreDesigner.GetRouteValues(this);

 

return StiNetCoreDesigner.ExportReportResult(this);

}

...

 

 

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

 

HomeController.cs

...

public IActionResult ExportReport(string id)

{

return StiNetCoreDesigner.ExportReportResult(this);

}

...

 

 

Метод GetFormValues()

 

Возвращает значения формы, которая инициировала (открыла POST-запросом) страницу дизайнера. Таким образом предоставляется возможность получить коллекцию параметров формы в любом действии дизайнера.

 

Index.cshtml.cs

...

public IActionResult DesignerInteraction()

{

NameValueCollection formValues = StiNetCoreDesigner.GetFormValues(this);

 

return StiNetCoreDesigner.InteractionResult(this);

}

...

 

 

По умолчанию данная возможность отключена в целях оптимизации запросов клиентской стороны дизайнера на сервер. Для включения достаточно установить свойство PassFormValues в значение true.

 

Index.cshtml

...

@Html.StiNetCoreDesigner(new StiNetCoreDesignerOptions() {

Server =

{

PassFormValues = true

}

})

...

 

 

 

Метод GetRequestParams()

 

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

 

HomeController.cs

...

public IActionResult ExportReport()

{

StiRequestParams requestParams = StiNetCoreDesigner.GetRequestParams(this);

if (requestParams.ExportFormat == StiExportFormat.Pdf)

{

StiReport report = StiNetCoreDesigner.GetReportObject(this);

 

// Some action with report for the PDF export

// ...

 

return StiNetCoreDesigner.ExportReportResult(this, report);

}

 

return StiNetCoreDesigner.ExportReportResult(this);

}

...

 

 

Метод GetExportSettings()

 

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

 

HomeController.cs

...

public IActionResult ExportReport()

{

StiExportSettings settings = StiNetCoreDesigner.GetExportSettings(this);

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

{

StiPdfExportSettings pdfSettings = (StiPdfExportSettings)settings;

pdfSettings.EmbeddedFonts = true;

pdfSettings.AllowEditable = StiPdfAllowEditable.No;

return StiNetCoreDesigner.ExportReportResult(this, settings);

}

 

return StiNetCoreDesigner.ExportReportResult(this);

}

...

 

 

Методы MapPath() и MapWebRootPath()

 

Возвращает абсолютный путь соответственно к директории приложения или к директории wwwroot. Можно использовать для загрузки файлов шаблонов отчетов, файлов данных и др. Данные методы расположены в статическом классе StiNetCoreHelper.

 

HomeController.cs

...

public IActionResult GetReport()

{

StiReport report = new StiReport();

report.Load(StiNetCoreHelper.MapPath(this, "Reports/SimpleList.mrt"));

 

return StiNetCoreDesigner.GetReportResult(this, report);

}

...