Mam pęczek tabel danych (na liście), wszystkie z 50 kolumnami.
Załóżmy, że chcę utworzyć nową tabelę danych z kolumnami 20-29 i 40-49. a następnie skopiuj wszystkie wiersze z każdej tabeli danych do nowej. ale tylko te wybrane kolumny.
DataTable.Merge () nie będzie działać, ponieważ chcę tylko podzbiór kolumn.
Jaki jest najlepszy sposób na osiągnięcie tego celu?
Odpowiedzi:
1 dla odpowiedzi № 1Myślę, że proste zwykłe stare pętle powinny wykonać tę sztuczkę w tych warunkach
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);
}
}
Uwaga Nie skompilowałem kodu.