现在我在尝试解决以下问题:
假设我有一个客户集合,它包含以下属性:
- 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");
谢谢您。