在RDLC报告中获取多个数据集时出错

时间:2018-07-30 13:38:07

标签: c# reporting-services report rdlc

我有一个包含两个数据集的RDLC报告,它每次运行时都给出“报告C:\ Employee.rdlc的定义”是无效错误。如果我仅使用一个数据集,则报告工作正常。

以下是设置: 对于报告,我添加了一个数据源(即数据集)(名称:“ dtsrcEmployee”,并使用“ TableAdapter”从现有数据库中添加了两个现有存储过程。在报告中,我已将此数据集添加为DataSource) 。在报告中,我添加了两个数据集(名称:dtGetEmployeeSummary,dtGetEmployeeStats),该数据集指向数据源中的两个数据表

从代码方面,我正在传递数据集,该数据集具有两个数据表(数据表名称与报表中的每个数据集名称匹配)(即dtGetEmployeeSummary,dtGetEmployeeStats)。我也在报告字段中使用“第一个”标签,如binary heap

ReportViewer reportViewer = new ReportViewer();
reportViewer.ProcessingMode = ProcessingMode.Local;
reportViewer.SizeToReportContent = true;
reportViewer.Width = Unit.Percentage(100);
reportViewer.Height = Unit.Percentage(100);
reportViewer.ShowZoomControl = false;
reportViewer.ShowRefreshButton = false;
reportViewer.ShowBackButton = false;
reportViewer.ShowFindControls = false;

reportViewer.LocalReport.ReportPath = reportPath;

foreach (DataTable reportTable in reportDataSet.Tables)
{
    reportViewer.LocalReport.DataSources.Add(new ReportDataSource(reportTable.TableName, reportTable));
}

var resportParameterLists = new List<ReportParameter>();
foreach (var keyValuePair in parameters)
{
    resportParameterLists.Add(new ReportParameter(keyValuePair.Key, keyValuePair.Value));
}
reportViewer.LocalReport.SetParameters(resportParameterLists);

reportViewer.LocalReport.Refresh();

return reportViewer;

有人知道为什么我在使用第二个数据集而不是仅使用一个数据集时会出错吗?

谢谢

  

更新:我最终删除了报告,并创建了两个新报告   数据集,是的,这一次有效。不知道老怎么了   报告。

0 个答案:

没有答案