c# - 如何以编程方式在 C# 中创建数据集?

标签 c# dataset report

我希望有一种方法可以在 Visual Studio 中动态创建数据集(我使用的是 C#) 我知道您可以通过“单击并拖动”的方式创建一个,但我希望有一种动态创建的方法,因为我需要将数据放入从任何数据库、任何表和任何列收集的报告中。

(我有一个程序可以连接到任何mysql或sql数据库,并显示任何表和任何列。)

现在我需要将其放入报告中。 但首先是数据集。

DataTable table1 = new DataTable("patients");
table1.Columns.Add("name");
table1.Columns.Add("id");
table1.Rows.Add("sam", 1);
table1.Rows.Add("mark", 2);

DataTable table2 = new DataTable("medications");
table2.Columns.Add("id");
table2.Columns.Add("medication");
table2.Rows.Add(1, "atenolol");
table2.Rows.Add(2, "amoxicillin");

// Create a DataSet and put both tables in it.
DataSet set = new DataSet("office");
set.Tables.Add(table1);
set.Tables.Add(table2);


// TODO: This line of code loads data into the 'SwimkidzDataSet.Branches' table. 
// You can move, or remove it, as needed.
this.BranchesTableAdapter.Fill(this.manuallyCreatedDataset.Branches);

试过这个但不可能成功

this.BranchesTableAdapter.Fill(set);
this.reportViewer1.RefreshReport();

最佳答案

我有一个我使用的基于包装器的报告流程。因此,我系统中的每个报告都来自相同的底层报告生成器/ View /pdf 输出/自动电子邮件等。在类中,我有一个属性“RptDS”,它代表具有多个表的“数据集”,例如正如您在场景中创建的那样。

因此,我的“rv”变量是加载了 .rdlc 报告定义的“ReportViewer”实例。现在,我只是循环遍历每个表的 RptDS(数据集)并复制到相应的 REPORT 数据源中,并随身携带表名。将 VALUE 设置为等于 DataTable 的值。将其添加到本地报告并继续。

foreach( DataTable dt in RptDS.Tables )
{
    var dsi = new ReportDataSource();
    dsi.Name = dt.TableName;
    dsi.Value = dt;
    rv.LocalReport.DataSources.Add(dsi);
}

关于c# - 如何以编程方式在 C# 中创建数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10784232/

相关文章:

c# - DataAdapter 填充异步异常

c# - 决议免费申请

mysql - 如何从连接的 SQL 表创建报告?

python - 如何在 Pandas 数据透视表中获取交替值列?

c# - SecurityManager.IsGranted() 行为

c# - 为什么 Assembly.GetTypes() 不会返回封闭泛型类型?

python - SpaCy 模型训练数据 : WikiNER

python - 有人可以为我解释 statsmodels 代码问题吗?

r - 在R包中添加数据集

java - 如何在java桌面应用程序中设置 Crystal 报表参数