gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 08:02:02 25 4
gpt4 key购买 nike

我希望有一种方法可以在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com