📌  相关文章
📜  c# datatable 将选定的行复制到另一个表 - C# (1)

📅  最后修改于: 2023-12-03 15:29:45.457000             🧑  作者: Mango

C# Datatable 将选定的行复制到另一个表

在C#中,DataTable是一种用于处理数据的对象。有时候我们需要将DataTable中的部分数据复制到另一个表中进行分析或操作。下面介绍如何将选定的行复制到另一个表。

1. 创建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表中。

2. 复制选定行

下面是一个将选定行复制到目标表的示例:

foreach (DataRow row in source.Rows)
{
    if (row["Name"].ToString() == "John") //选定Name为John的行
    {
        target.ImportRow(row);
    }
}

在这个示例中,我们遍历源DataTable中的每一行,判断Name是否为John,如果是,则将该行复制到目标DataTable中。

3. 返回完整代码段

下面是完整的代码片段,用于将选定的行复制到另一个表:

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中,并输出目标表中的数据。