DataTable复制多列到另一个空DataTable
时间: 2024-09-26 16:09:33 浏览: 43
在.NET中,如果你想要将一个`DataTable`的多列复制到另一个空的`DataTable`中,你可以通过以下步骤操作:
1. 首先,创建一个新的`DataTable`,它将作为目标表。
```csharp
DataTable newTable = new DataTable();
```
2. 确定源`DataTable`和你想要复制的列名。假设源表名为`sourceTable`,列名存储在一个字符串数组或列表中,例如:
```csharp
string[] columnNames = { "Column1", "Column2", "Column3" };
```
3. 使用`DataTable.Columns.Add()`方法添加对应列到新表。遍历列名数组,为新表添加相应的列:
```csharp
foreach (string columnName in columnNames)
{
newTable.Columns.Add(columnName);
}
```
4. 接下来,如果源表有数据,可以使用`CopyToDataTable()`方法将指定列的数据复制到新表。假设你想复制所有行的数据:
```csharp
foreach (DataRow sourceRow in sourceTable.Rows)
{
DataRow newRow = newTable.NewRow();
for (int i = 0; i < columnNames.Length; i++)
{
newRow[columnNames[i]] = sourceRow[columnNames[i]];
}
newTable.Rows.Add(newRow);
}
```
5. 最后,新的`DataTable` `newTable`就已经包含了从源表复制过来的指定列了。
阅读全文