RDLC动态表绑定

我是RDLC报道的新手,我的要求很简单。 我设计了一个报告,并在该报告中设置了一些参数来填充动态数据。

现在我还要求动态显示表格。 所以我做了什么:

DataSet InvoiceSummaryDs = new DataSet(); DataTable table = new DataTable(); table.TableName = "summary"; table.Columns.Add( "name", typeof( string ) ); table.Rows.Add(Invoice.TotalBooking); table.Rows.Add("£ " + Invoice.BillAmount); table.Rows.Add("£ " + Invoice.BillAmount + " 
" + "£ " + Invoice.VatAmount); table.Rows.Add("£ " + Invoice.NetAmount); InvoiceSummaryDs.Tables.Add(table); ReportDataSource rptDataSource = new ReportDataSource("DSPrice", InvoiceSummaryDs.Tables[0]); rv.LocalReport.DataSources.Add(rptDataSource); rv.LocalReport.SetParameters(parms); rv.LocalReport.Refresh();

所以在服务器端代码没有问题,但我在报告中收到错误: 错误13数据集’DS_NAME’指的是数据源“”,它不存在。

错误14 Tablix“Tablix1”位于报表正文中,但报表没有数据集。 没有数据集的报表中不允许使用数据区域。

在rdlc文件中,我创建了一个同名“DSPrice”的数据集,没有源,因为我想动态地从服务器端填充数据,而不是从这里。

我已经看过这个例子了:

http://www.gotreportviewer.com/ 动态生成RDLC – 表

动态报表创建可以动态表绑定,但我不想创建动态报表。

任何一个人指导我的解决方案是什么? 任何帮助,将不胜感激。

最后,我自己解决了这个问题。

我的要求的简短摘要:我想将数据集从代码绑定到我的RDLC报告表。

当我在RDLC报告中创建表时,它给了我上面提到的错误,为表提供数据源,我为什么感到困惑? 我需要从C#编码中设置它。

然后我知道RDLC报告无法知道你是否要从代码提供数据源,除非你通过编码创建动态报告,我不想创建动态报告。

解:

1)创建具有相同名称的占位符数据集,您希望从代码2)传递数据集必须具有相同的列和名称3)将该数据集分配给报表中的表数据源4)并使用相同的名称列从编码中传递5)通过这种方式,您不会收到该错误,您可以轻松地从代码中传递动态数据集。