Отчет с параметрами в MVC Viewer
Отчет с параметрами в MVC Viewer
Здравствуйте!
При построение отчетов с параметрами, при нажатии кнопку приминить возможно ли передать на сервере в отчет дополнительные параметры ?
При построение отчетов с параметрами, при нажатии кнопку приминить возможно ли передать на сервере в отчет дополнительные параметры ?
Re: Отчет с параметрами в MVC Viewer
Здравствуйте,
Не могли бы более подробно описать свою задачи. Какие параметры вы хотите передавать на сервер?
Спасибо.
Не могли бы более подробно описать свою задачи. Какие параметры вы хотите передавать на сервер?
Спасибо.
Re: Отчет с параметрами в MVC Viewer
У меня отчет с параметрами, при нажатии кнопку "применить" формируется отчет на сервере вызывается метод public ActionResult Interaction(){}, вот мне в этом методе нужно в сам отчет в Variables передать дополнительные параметры
Re: Отчет с параметрами в MVC Viewer
Здравствуйте,
Для передачи параметров в сам отчёт вы можете использовать следующий код в указанном действии:
Спасибо.
Для передачи параметров в сам отчёт вы можете использовать следующий код в указанном действии:
Код: Выделить всё
StiReport report = StiMvcViewer.GetReportObject(this.HttpContext);
report["ParameterName"] = 123;
return StiMvcViewer.InteractionResult(this.HttpContext, report);
Re: Отчет с параметрами в MVC Viewer
В некоторых случаях метод StiMvcViewer.GetReportObject(this.HttpContext) возвращает пустое значение, с чем это может быть связанно ?
Re: Отчет с параметрами в MVC Viewer
Здравствуйте,
Это может быть связано с тем, что отчёт уже удалён из кэша сервера. Для решения проблемы либо увеличьте время хранения (свойство ServerTimeout), либо загружать отчёт заново.
Спасибо.
Это может быть связано с тем, что отчёт уже удалён из кэша сервера. Для решения проблемы либо увеличьте время хранения (свойство ServerTimeout), либо загружать отчёт заново.
Спасибо.
-
- Сообщения: 30
- Зарегистрирован: 12 апр 2013, 10:57
- Откуда: Украина, Донецк
- Контактная информация:
Re: Отчет с параметрами в MVC Viewer
Как правильно решить проявление ситуации сVladimir писал(а): Это может быть связано с тем, что отчёт уже удалён из кэша сервера. Для решения проблемы либо увеличьте время хранения (свойство ServerTimeout), либо загружать отчёт заново.
Код: Выделить всё
public ActionResult Interaction()
{
StiReport report = StiMvcViewer.GetReportObject(this.HttpContext);
if (report == null) // [b]-- ДА report = NULL[/b]
{
??????
см ниже LOAD...
}
return StiMvcViewer.InteractionResult(HttpContext, report);
}
1. RouteValueDictionary routeValues = StiMvcViewer.GetRouteValues(this.HttpContext); - необходимо знать что мы строили
2. report = new StiReport(); + загрузка самого отчета по данным routeValues
3. report.Compile();
4. Установка параметров
if (report.Dictionary.Variables.Contains("ReportId"))
{
report["ReportId"] = 1234567654;
}
if (report.CompiledReport.DataSources.Contains("DataSourceMain"))
{
if (report.CompiledReport.DataSources["DataSourceMain"].Parameters.Contains("@Id"))
report.CompiledReport.DataSources["DataSourceMain"].Parameters["@Id"].ParameterValue = documentId;
}
5. return StiMvcViewer.InteractionResult(HttpContext, report);
Если все действия и их порядок правильны - то фактически это тот же код, что и для метода GetReportSnapshot()? - если нет ->> просьба правильный порядок действий?
Лёвкин Д.А.
http://www.moedelo.in.ua
http://www.moedelo.in.ua
Re: Отчет с параметрами в MVC Viewer
Здравствуйте,
Да, ваш код должен работать корректно.
При отсутствии отчёта в кэше (или сессии) сервера, MvcViewer запрашивает его заново в действии GetReportSnapshot.
Если Вы загрузили отчёт в действии InteractionResult, то применение параметров отчёта и его построение должно произойти автоматически.
Если Вы используете свои параметры, то их нужно применить к отчёту до построения (как указано в Вашем коде).
Для удобства можно вынести код загрузки отчёта, регистрацию данных и применение параметров в отдельный метод.
Спасибо.
Да, ваш код должен работать корректно.
При отсутствии отчёта в кэше (или сессии) сервера, MvcViewer запрашивает его заново в действии GetReportSnapshot.
Если Вы загрузили отчёт в действии InteractionResult, то применение параметров отчёта и его построение должно произойти автоматически.
Если Вы используете свои параметры, то их нужно применить к отчёту до построения (как указано в Вашем коде).
Для удобства можно вынести код загрузки отчёта, регистрацию данных и применение параметров в отдельный метод.
Спасибо.
Re: Отчет с параметрами в MVC Viewer
Здравствуйте,
Всегда рады помочь!
Всегда рады помочь!