1

我有一个带有两个数据源的 .rdlc。当我只使用名为“dsLancamentos”的数据源时,它工作正常。现在,我添加了第二个,名为“dsDespesas”,报表查看器会抛出以下消息:

尚未为数据源“dsDespesas”提供数据源实例。

这是我的代码:

var dsReportLancamentos = new dsReportLancamentosTableAdapters.PR_REPORT_LANCAMENTOSTableAdapter();
var dsReportDespesas = new dsReportLancamentosTableAdapters.PR_REPORT_SEA_DESPESASTableAdapter();
var tabela = (DataTable)dsReportLancamentos.GetData(txtNomeProduto.Text, Funcoes.GetDateTimeValueOrNull(DataDe), Funcoes.GetDateTimeValueOrNull(DataAte), Funcoes.GetByteValueOrNull(status));
var despesas = (DataTable)dsReportDespesas.GetData(Funcoes.GetDateTimeValueOrNull(DataDe), Funcoes.GetDateTimeValueOrNull(DataAte));


// CONFIGURAÇÕES DO REPORT -----------------------
ReportDataSource rds = new ReportDataSource("dsLancamentos", tabela);
ReportDataSource rdsDespesa = new ReportDataSource("dsDespesas", despesas);
rvReport.Reset();
rvReport.ProcessingMode = ProcessingMode.Local;
rvReport.LocalReport.ReportPath = Server.MapPath("~/reports/LancamentosReport.rdlc");
rvReport.LocalReport.DataSources.Add(rds);
rvReport.LocalReport.DataSources.Add(rdsDespesa);
// -----------------------------------------------

谁能帮我这个?我就是找不到问题所在。

谢了。

4

2 回答 2

1

更新报表定义中的数据集

1.在 Visual Studio 报表设计器中打开客户端报表定义 (.rdlc) 文件。

2.从查看菜单中,选择报告数据。出现报告数据窗口。然后 要将新数据集添加到报表定义中,请在“报表数据”窗口的工具栏中,选择“新建”,然后选择“数据集”。

3. 单击刷新以使用您的更改更新报告定义文件。

于 2013-08-26T14:19:09.983 回答
0

当您在 rdlc 文件中添加数据集时,您需要向它提供数据,否则它将引发运行时错误。将数据设置到每个数据集,并在代码中指定名称,如下所示 -

 viewer.LocalReport.ReportPath = reportPath;
 viewer.LocalReport.DataSources.Add(new ReportDataSource("rdlc_dataset1", dataset.Tables[0]));
 viewer.LocalReport.DataSources.Add(new ReportDataSource("rdlc_dataset2", dataset.Tables[1]));
于 2013-12-10T07:28:04.220 回答