Когда вы изменяете исходный отчет reportViewer, вам также необходимо установить для него источники данных.Обычно дизайнер обрабатывает это за вас (взгляните на сгенерированный дизайнером код, чтобы увидеть, как он его обрабатывает), но изменение исходного отчета сбрасывает объект LocalReport элемента управления.
Поэтому вам необходимо предоставитьисточники данных в вашем отчете, чтобы он мог правильно отображаться:
this.reportViewer.LocalReport.ReportEmbeddedResource = "ReportViewer." + MapComboBoxItem2ReportName(cbReports.Text) + ".rdlc";
this.reportViewer.LocalReport.Datasource.Add("Datasource1", whateverIsYourDatasourceObject)
this.reportViewer.RefreshReport();
Вы должны добавить одну и ту же строку для каждого источника данных, определенного в вашем отчете.Если вы не уверены в названиях источников данных, которые вам нужно использовать, посмотрите на сгенерированный дизайнером код, чтобы увидеть, каковы они.Вы также можете использовать следующий код, чтобы узнать все имена источников данных отчета:
this.reportViewer.LocalReport.GetDataSourceNames()
Если в вашем отчете есть переменные, вам также нужно определить их, иначе вы получите ту же ошибку.
Надеюсь, это поможет