使用 RDLC 的报告无法加载数据集
Posted
技术标签:
【中文标题】使用 RDLC 的报告无法加载数据集【英文标题】:Report using RDLC can't load dataset 【发布时间】:2014-08-20 02:51:25 【问题描述】:我正在尝试使用RDLC
文件进行报告。我正在关注此链接:
http://www.mindstick.com/Articles/13169999-ef3b-496c-b502-caef973c3bb2/?Using%20ReportViewer%20in%20WinForms%20C
所以我创建了一个 RDLC 文件,并将我的 tax
对象导入到此报告中,我的税务对象的结构如下:
public partial class Tax
public Tax()
this.Innovices = new HashSet<Inovice>();
[DisplayName("شناسه")]
public int Id get; set;
[DisplayName("عوارض شهرداری")]
public Nullable<double> MunicipalTax get; set;
[DisplayName("مالیات بر ارزش افزوده")]
public Nullable<double> AdditionalTax get; set;
[DisplayName("سال مالی")]
public string Year get; set;
public virtual ICollection<Inovice> Innovices get; set;
在这里您可以看到绑定对象到我的报告:
我在 y 表单中放置了一个报告查看器,我在 `formload 中编写了这段代码
private void Form1_Load(object sender, EventArgs e)
InvoiceRepository.TaxRepository obj = new TaxRepository();
List<InnoviceDomainClass.Tax> list = obj.GetAll().ToList();
reportViewer1.LocalReport.DataSources.Clear(); //clear report
reportViewer1.LocalReport.ReportEmbeddedResource = "Factor169.Report.Report1.rdlc";
// bind reportviewer with .rdlc
Microsoft.Reporting.WinForms.ReportDataSource dataset =
new Microsoft.Reporting.WinForms.ReportDataSource("Dataset1", list); // set the datasource
reportViewer1.LocalReport.DataSources.Add(dataset);
dataset.Value = list;
reportViewer1.LocalReport.Refresh();
reportViewer1.RefreshReport(); // refresh report
`
但是执行后的结果是这样的:why ?
【问题讨论】:
【参考方案1】:Microsoft.Reporting.WinForms.ReportDataSource dataset =
new Microsoft.Reporting.WinForms.ReportDataSource("Dataset1", list);
应该是DataSet1
ReportDataSource("DataSet1", list); //The "s"
报表数据源的名称必须与报表中的数据集相同。
【讨论】:
以上是关于使用 RDLC 的报告无法加载数据集的主要内容,如果未能解决你的问题,请参考以下文章
在 VB.Net 中手动加载 Reportviewer 中的 .rdlc 报告
发生错误:“生成报告时无法加载文件或程序集 'Microsoft.Reportviewer.Winforms Version=10.0.0.0”