Использование параметра запроса в отчёте

Обсуждение Stimulsoft Reports.NET
Аватара пользователя
Андрей Сорокин
Сообщения: 107
Зарегистрирован: 02 июл 2009, 11:31
Откуда: Bryansk, Russia
Контактная информация:

Использование параметра запроса в отчёте

Сообщение Андрей Сорокин »

Добрый день, столкнулся с проблемой, которую поясню на простом примере.

БД MS SQL2008, в отчёте есть запрос с параметром:

Код: Выделить всё

SELECT * FROM Table WHERE TabDate = @RepDate
Тип @RepDate = Date
В отчёте имеется заголовок, в котором также хочется использовать данный параметр с выражением, вида: Выборка за {DataSource.Parameters["@RepDate"].ParameterValue}

Из кода приложения инициализирую данный параметр:

Код: Выделить всё

StiReport report = StiReport.GetReportFromAssembly(...);
report["@RepDate"] = DateTime.Today;
report.Show(true);
При запуске отчёта происходит корректная выборка данных, но в заголовке значение параметра не отображается... :hugging:
Что не так?
Jan
Сообщения: 495
Зарегистрирован: 19 фев 2009, 11:14

Использование параметра запроса в отчёте

Сообщение Jan »

Здравствуйте,

В данном случае параметр сохраняется в специальной коллекции. Попробуйте следующее выражение:\

Код: Выделить всё

{this["@RepDate"]}
Спасибо.
Аватара пользователя
Андрей Сорокин
Сообщения: 107
Зарегистрирован: 02 июл 2009, 11:31
Откуда: Bryansk, Russia
Контактная информация:

Использование параметра запроса в отчёте

Сообщение Андрей Сорокин »

Спасибо, сработало!
Хорошо было бы сделать в дизайнере так, чтобы при переносе параметра при помощи мышки из Data Sources подставлялось корректное имя объекта, т.е. в данном случае {this["@RepDate"]}
вместо {DataSource.Parameters["@RepDate"].ParameterValue}
Jan
Сообщения: 495
Зарегистрирован: 19 фев 2009, 11:14

Использование параметра запроса в отчёте

Сообщение Jan »

Здравствуйте,

Хорошее замечание. Поправлено.

Спасибо.
Аватара пользователя
Андрей Сорокин
Сообщения: 107
Зарегистрирован: 02 июл 2009, 11:31
Откуда: Bryansk, Russia
Контактная информация:

Использование параметра запроса в отчёте

Сообщение Андрей Сорокин »

Значение параметра не отображается в дизайнере во вкладке Preview, точнее возникает следующее сообщение: "Expression in Text property of 'Text3' can't be evaluated!"
При генерации отчёта из кода всё ОК.
Anton Lozovskiy
Сообщения: 264
Зарегистрирован: 12 ноя 2007, 08:16

Использование параметра запроса в отчёте

Сообщение Anton Lozovskiy »

Здравствуйте,

Пришлите пожалуйста простой пример воспроизводящий эту проблему, чтобы мы смогли разобраться и исправить ошибку.

Спасибо.
Аватара пользователя
Андрей Сорокин
Сообщения: 107
Зарегистрирован: 02 июл 2009, 11:31
Откуда: Bryansk, Russia
Контактная информация:

Использование параметра запроса в отчёте

Сообщение Андрей Сорокин »

Пожалуйста!

При переходе в дизайнере на закладку привью сообщение: Expression in Text property of 'Text1' can't be evaluated!
Вложения
Report.mrt
(4.3 КБ) 322 скачивания
Jan
Сообщения: 495
Зарегистрирован: 19 фев 2009, 11:14

Использование параметра запроса в отчёте

Сообщение Jan »

Здравствуйте,

Все верно. В случае когда используется

Код: Выделить всё

DataSource.Parameters["@RepDate"].ParameterValue
, ParameterValue имеет значение по умолчанию. Когда используется

Код: Выделить всё

report["@RepDate"]
и это значение не указано (а оно не указано в дизайнере отчета при просмотре в закладке, т.к. заполняется из кода), из коллекции значений возвращается null, который и обрабатывается с исключением.

Спасибо.
Аватара пользователя
Андрей Сорокин
Сообщения: 107
Зарегистрирован: 02 июл 2009, 11:31
Откуда: Bryansk, Russia
Контактная информация:

Использование параметра запроса в отчёте

Сообщение Андрей Сорокин »

Что-то я не совсем понял, почему null? Я указал значение = 10 в поле Expression для отработки запроса, см. скриншот.
Вложения
Clipboard01.png
Clipboard01.png (12.49 КБ) 3430 просмотров
Jan
Сообщения: 495
Зарегистрирован: 19 фев 2009, 11:14

Использование параметра запроса в отчёте

Сообщение Jan »

Здравствуйте Андрей,

Но в заголовке отчета выводится

Код: Выделить всё

this[@name]?
Спасибо.
Ответить