Информация

 

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

 

 

 

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

 

Метод GetReportObject()

 

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

 

HomeController.cs

...

public ActionResult ViewerInteraction()

{

StiReport report = StiMvcViewer.GetReportObject();

report.ReportName = "MyReportName";

 

return StiMvcViewer.InteractionResult(report);

}

...

 

 

Метод GetRouteValues()

 

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

 

HomeController.cs

...

public ActionResult ViewerInteraction()

{

RouteValueDictionary routeValues = StiMvcViewer.GetRouteValues();

 

return StiMvcViewer.InteractionResult();

}

...

 

 

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

 

HomeController.cs

...

public ActionResult ViewerInteraction(string id)

{

return StiMvcViewer.InteractionResult();

}

...

 

 

Метод GetFormValues()

 

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

 

HomeController.cs

...

public ActionResult ViewerInteraction()

{

NameValueCollection formValues = StiMvcViewer.GetFormValues();

 

return StiMvcViewer.InteractionResult();

}

...

 

 

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

 

Index.cshtml

...

@Html.Stimulsoft().StiMvcViewer("MvcViewer1",

new StiMvcViewerOptions() {

Server =

{

PassFormValues = true

}

})

...

 

 

Метод GetRequestParams()

 

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

 

HomeController.cs

...

public ActionResult ExportReport()

{

StiRequestParams requestParams = StiMvcViewer.GetRequestParams();

if (requestParams.ExportFormat == StiExportFormat.Pdf)

{

StiReport report = StiMvcViewer.GetReportObject();

 

// Some action with report for the PDF export

// ...

 

return StiMvcViewer.ExportReportResult(report);

}

 

return StiMvcViewer.ExportReportResult();

}

...

 

 

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

 

HomeController.cs

...

public ActionResult ViewerInteraction()

{

StiRequestParams requestParams = StiMvcViewer.GetRequestParams();

if (requestParams.Action == StiAction.Variables)

{

requestParams.Interaction.Variables["Variable1"] = "MyValue";

return StiMvcViewer.InteractionResult(requestParams);

}

 

return StiMvcViewer.InteractionResult();

}

...

 

 

Метод GetExportSettings()

 

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

 

HomeController.cs

...

public ActionResult ExportReport()

{

StiExportSettings settings = StiMvcViewer.GetExportSettings();

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

{

StiPdfExportSettings pdfSettings = (StiPdfExportSettings)settings;

pdfSettings.EmbeddedFonts = true;

pdfSettings.AllowEditable = StiPdfAllowEditable.No;

return StiMvcViewer.ExportReportResult(settings);

}

 

return StiMvcViewer.ExportReportResult();

}

...