从动态构建的数据集创建报告

Create report from dynamically built dataset

我无法想出生成报告的方法(通过 xlsx 或 MS 报告查看器)。最大的问题是我的数据集是动态创建的。这是我拥有的:

一个或多个终端定期向云托管数据库中填充有关信息来源、全局键和对应于 (origin, key) 对的值的信息。

所以我得到了一个 table 像:

TERMINAL_NO|GLOBAL_KEY|DECIMAL_VALUE
===========|==========|=============
123        |9876      |1.00
123        |9875      |0.50
123        |9872      |-4.00
234        |9876      |3.00
234        |9875      |5.45
234        |9872      |2.50

我制作了一个应用程序,将其转换为每 TERMINAL_NO 一列的数据集,每一行都是不同的 GLOBAL_KEY,为每一对存储相应的 DECIMAL_VALUES .但是,这就是问题所在 - 我找不到使用动态创建的数据集生成报告或 xlsx 文件的方法,因为我知道它们都需要类型化的数据集才能使用。

有没有更简单的方法来收集这些数据,还是我做错了?

08-15-20 编辑 根据@jdweng,我确实尝试了那里描述的方法,但我无法让 reportViewer 显示实际数据。目前我有以下内容:

            ReportDataSource rds = new ReportDataSource("DataSetStock", LoadData());
//LoadData() returns a filled datatable.
            RView.ProcessingMode = ProcessingMode.Local;
            RView.LocalReport.DataSources.Clear();
            RView.LocalReport.DataSources.Add(rds);
            RView.LocalReport.ReportPath = "StockReport.rdlc";
            RView.RefreshReport();

然而,我得到的只是 winformshost 控件中的一个空报告查看器。

根据@nbk 的建议,我使用了 Nadir (https://www.codeproject.com/Tips/888174/Dynamically-Creating-an-RDLC-Report-Just-Using-a-D) 提供的 .cs 文件制作的报告生成器代码。

只需对 xaml 进行一些更改,因为我没有使用徽标图像。我已经有了我的数据集(只需要将列名更改为 cls-compliant)并且它运行完美。我不必使用 userControl 文件夹,因为我在 WPF 上工作并且已经有一个带有 reportviewer 控件的 winforms 主机控件。