Как заставить SSRS ReportViewer ждать ввода параметров перед рендерингом?

У меня есть отчет SSRS, который вызывается страницей с объектом ASP.Net ReportViewer. Отчет принимает параметры для фильтрации. Сейчас при первом вызове страницы в параметрах стоят значения по умолчанию и вьювер просто вылетает и рендерит отчет с этими настройками. Я подумал, что это здорово сэкономит время, но мой клиент жалуется, что это занимает несколько секунд, поэтому сейчас мы хотим, чтобы он просто подождал, пока я не нажму «Просмотреть отчет», прежде чем он попытается что-либо отобразить.

Каков наилучший подход? Не установлены значения по умолчанию для параметра? Установить для ShowReportBody значение false? Что-то другое? Кажется, это должно быть просто.


person Mike K    schedule 30.06.2010    source источник


Ответы (2)


Удаление значения по умолчанию should приведет к тому, что отчет не будет отображаться. Я думаю, это ваш единственный вариант. А также самый простой.

Если некоторым клиентам нравится старое поведение, вы можете программно задать значения по умолчанию для определенных пользователей. (IE, сохраните файл cookie браузера, который сообщает вашей странице предоставить значения по умолчанию, если они отметят флажок «сохранить значения по умолчанию».)

person Tim Coker    schedule 30.06.2010
comment
Я установил для ShowReportBody значение false в aspx во время разработки, а затем программно установил для него значение True в Page_Load для обратных передач. Получил эту идею отсюда: stackoverflow.com/questions/1573926/ - person Mike K; 01.07.2010

Я согласен с ответом Тима. Но в моем случае NULL (без значения по умолчанию) интерпретировался как параметр в списке значений, который загружается для этого поля из базы данных. Поэтому удаления значения по умолчанию было недостаточно. Мне помогло установить по умолчанию значение, которое заведомо не существует в загруженном списке поиска, в моем случае «-1». Некоторый случайный GUID должен помочь в большинстве случаев.

person Markus Kersting    schedule 14.12.2015