Ich habe eine Reihe von Datentabellen (in einer Liste), alle mit 50 Spalten.
Angenommen, ich möchte eine neue Datentabelle mit den Spalten 20-29 und 40-49 erstellen. Kopieren Sie dann alle Zeilen aus jeder Datentabelle in die neue. aber nur die ausgewählten Spalten.
DataTable.Merge () funktioniert nicht, da ich nur eine Teilmenge der Spalten haben möchte.
Was ist der beste Weg, um dieses Ziel zu erreichen?
Antworten:
1 für die Antwort № 1Ich denke, einfache, normale for-Loops sollten unter diesen Bedingungen ausreichen
DataTable table = new DataTable();
DataTable existing = listOfTables[0];
for(int i = 20; i < 30; i ++)
{
table.Columns.Add(existing.Column[i].Name;
table.Columns.Add(existing.Column[i + 20].Name;
}
foreach(DataTable table in listOfTables)
{
foreach(DataRow row in table.Rows)
{
DataRow newRow = table.NewRecord();
foreach(Column column in table.Columns)
{
newRow[column.Name] = row[column.Name];
}
table.Rows.Add(row);
}
}
Hinweis Ich habe den Code nicht kompiliert.