📅  最后修改于: 2023-12-03 15:29:45.457000             🧑  作者: Mango
在C#中,DataTable是一种用于处理数据的对象。有时候我们需要将DataTable中的部分数据复制到另一个表中进行分析或操作。下面介绍如何将选定的行复制到另一个表。
首先,我们需要创建两个DataTable对象,分别为源DataTable和目标DataTable。这里我们假设我们要将源DataTable中选定的行复制到目标DataTable中。
DataTable source = new DataTable("Source");
source.Columns.Add("ID", typeof(int));
source.Columns.Add("Name", typeof(string));
source.Columns.Add("Age", typeof(int));
DataTable target = new DataTable("Target");
target.Columns.Add("ID", typeof(int));
target.Columns.Add("Name", typeof(string));
target.Columns.Add("Age", typeof(int));
上述代码创建了两个DataTable对象,分别包括三列:ID、Name、Age。我们需要将Source表中的选定行复制到Target表中。
下面是一个将选定行复制到目标表的示例:
foreach (DataRow row in source.Rows)
{
if (row["Name"].ToString() == "John") //选定Name为John的行
{
target.ImportRow(row);
}
}
在这个示例中,我们遍历源DataTable中的每一行,判断Name是否为John,如果是,则将该行复制到目标DataTable中。
下面是完整的代码片段,用于将选定的行复制到另一个表:
DataTable source = new DataTable("Source");
source.Columns.Add("ID", typeof(int));
source.Columns.Add("Name", typeof(string));
source.Columns.Add("Age", typeof(int));
DataTable target = new DataTable("Target");
target.Columns.Add("ID", typeof(int));
target.Columns.Add("Name", typeof(string));
target.Columns.Add("Age", typeof(int));
//将数据加入到源表中
source.Rows.Add(1, "John", 20);
source.Rows.Add(2, "Alex", 30);
source.Rows.Add(3, "Mary", 25);
//复制选定行
foreach (DataRow row in source.Rows)
{
if (row["Name"].ToString() == "John") //选定Name为John的行
{
target.ImportRow(row);
}
}
//输出目标表中的数据
foreach (DataRow row in target.Rows)
{
Console.WriteLine(row["ID"] + ", " + row["Name"] + ", " + row["Age"]);
}
以上代码将选定的行复制到目标DataTable中,并输出目标表中的数据。