Возможно, вы неправильно поняли ваш вопрос, но в Win Forms я загружал необходимые наборы данных вручную. У меня в основном есть метод, который загружает правильные данные из моей базы данных, присоединяет необходимые наборы данных к моей программе просмотра отчетов, используя Me.ReportViewer1.LocalReport.DataSources.Add, затем я просто отображаю свой отчет, используя Me.ReportViewer1.LocalReport.ReportEmbeddedResource. Мои отчеты - это встроенные ресурсы, но вы также можете загрузить их из файла, я просто не могу вспомнить, что у меня в голове. Как только все загружено, вызовите RefreshReport, и отчет отобразится. Ну, это основные моменты, у меня нет кода для просмотра, но я знаю, что это основные шаги.
В настоящее время я изучаю, как загружать наборы данных на лету, когда пользователь перемещается по отчету. В настоящее время я работаю над этим, чтобы захватить событие ReportError, проверить, какой отчет пытается отображаться от отправителя (это объект просмотра отчета), и загрузить набор данных, используя описанное выше. Единственная проблема, с которой я сталкиваюсь, заключается в том, что у меня нет экрана загрузки, когда я загружаю набор данных в данный момент, поэтому похоже, что мое приложение зависает. Я не понял, как вернуться к тому крутому экрану загрузки, но сейчас у меня есть окно загрузки, которое отображается во время загрузки. помните, что когда вы получаете сообщение об ошибке, отчет, который пытается отобразиться, уже настроен как локальный отчет, поэтому все, что вам нужно сделать, - это выполнить проверку случая / отчета для отчета и загрузить данные по мере необходимости.