Подотчет SSRS VS2010 не удалось получить данные для подотчета - PullRequest
2 голосов
/ 24 ноября 2010

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

У кого-нибудь есть пример кода вложенного отчета, работающего с Visual Studio 2010?

сообщение об ошибке «Не удалось получить данные для вложенного отчета».код выглядит так, хотя я пробовал несколько различных сценариев, чтобы попытаться передать данные в подотчет.

</p> <pre><code> private void LoadReport(string reportName) { reportViewer1.Clear(); //http://social.msdn.microsoft.com/Forums/en/vsreportcontrols/thread/b039e765-3cc8-43ec-ae67-14b9656bc981 reportViewer1.Reset(); // Set Processing Mode reportViewer1.ProcessingMode = ProcessingMode.Local; // Set RDL file reportViewer1.LocalReport.ReportPath = reportName+".rdlc"; } public void LoadReport(IEnumerable products, string reportName, string dataSourceName) { LoadReport(reportName); ReportParameter myParam = new ReportParameter("ReportParameter1", st.ToString() + " TO " + et.ToString()); reportViewer1.LocalReport.SetParameters(new ReportParameter[] { myParam }); reportViewer1.LocalReport.DataSources.Add( new ReportDataSource(dataSourceName, products)); reportViewer1.LocalReport.DataSources.Add( new ReportDataSource(dataSourceName+"Subreport", products)); // Process and render the report reportViewer1.RefreshReport(); }

Ответы [ 2 ]

3 голосов
/ 26 ноября 2010

От Jin Chen Microsoft, ModeratorUsers Медали ответ на форуме msdn http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/5d2aed0b-ea69-4cbb-b3c4-b306a48fbc30

СПАСИБО ТАКОЕ !!!

У меня был этот код, но событие было добавлено вконструктор форм, который я добавил через окно свойств события графического интерфейса

и, следуя вашему примеру, переместил эту строку

reportViewer1.LocalReport.SubreportProcessing + = new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler (this.reportViewer1_suberport1);

От form.designer.cs до отчета об обновлении, как вы это делали в своем примере, и СЕЙЧАС ЭТО РАБОТАЕТ !!!

Спасибо, замечательное благодарение, вот так

reportViewer1.RefreshReport(); reportViewer1.LocalReport.SubreportProcessing += new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler(this.reportViewer1_suberport1);</p> <pre><code> private void reportViewer1_suberport1(object sender, SubreportProcessingEventArgs e) { ReportDataSource r=reportViewer1.LocalReport.DataSources[0]; e.DataSources.Add(r); }

1 голос
/ 21 октября 2011

Я не нашел, что перемещение обработчика событий в другое место помогло для этой конкретной ошибки. Для этой ошибки, что это исправило, вы должны убедиться, что ваш подотчет может работать автономно без ошибок. Затем свяжите это с основным докладом. В моем случае в моем отчете использовался другой набор данных в IDE, чем в коде.

...