RDLC动态表绑定

问题描述 投票:1回答:1

我是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 + "  <br />" + "£ " + 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 - 表

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

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

c# asp.net-mvc rdlc
1个回答
2
投票

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

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

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

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

解:

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

© www.soinside.com 2019 - 2024. All rights reserved.