使用父数据集的子报表的RDLC报表?

5

现在我在尝试解决以下问题:

假设我有一个客户集合,它包含以下属性:

  • CustomerName(客户名)
  • AccountNumber(账号)
  • TotalAmount(总金额)

对于每个客户,它都拥有一组发票。每张发票都包含以下属性:

  • InvoiceNumber(发票号码)
  • InvoiceDate(发票日期)
  • AmountDue(应付金额)
  • Payment(付款)

我已经从服务中检索到数据并将其存储在本地。所以,有一组客户和每个客户都有发票。现在还好吗?相当简单易懂的!

现在,我有一个RDLC,并且通过添加来自代码库的模型的数据集,使其显示客户集合。绑定、显示所需的数据都很好。

现在我遇到的困难是如何显示该记录的发票列表(当前客户)。

有任何想法吗?我甚至不知道该从哪里开始或使用什么,请不要说“你尝试了什么?” - 我甚至不知道从哪里开始,因此该问题无效! :-)

当前表格中有一个tablix。tablix指向客户数据集(DataSet1),并添加了字段以显示该数据集中的属性值。

接下来,我需要将其与标头一起获取此记录的发票,并在tablix内部或其他位置上呈现它

我被卡住了,真的希望能得到正确方向的指导。

代码用于呈现报表查看器(在这一点上,这并不重要-我遇到了RDLC困难):

public void RunReport<T>(List<T> reportData, List<ReportParameter> parameters, string reportLayout)
        {
            var viewer = ReportViewerHost.Child as Microsoft.Reporting.WinForms.ReportViewer;
            viewer.Reset();
            viewer.ProcessingMode = ProcessingMode.Local;
            viewer.LocalReport.ReportEmbeddedResource = "PlayPen.ReportLayouts." + reportLayout + ".rdlc";
            viewer.LocalReport.SetParameters(parameters);
            viewer.SetDisplayMode(DisplayMode.PrintLayout);
            viewer.ZoomMode = ZoomMode.PageWidth;
            viewer.LocalReport.DataSources.Clear();
            viewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", reportData));
            viewer.RefreshReport();
        }

方法调用:

this.reportViewer.RunReport(this.OutstandingInvoices, new List<ReportParameters>(), "OutstandingInvoices");

谢谢您。
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接