Таким образом, копируя из DataGrid A (dialog.displayTable) в DataGrid B (просто displayTable), я сделал это, перебирая DataGrid строка за строкой, а затем копируя данные столбца в новую строку, столбец за столбцом.Затем добавив эту строку в DataGrid B.
В этом примере я также использовал отдельную DataGrid с заголовками, установленными в ComboBox, для повторного сопоставления столбцов, если я так выбрал.
foreach(DataRow displayRow in ((DataView)dialog.displayTable.ItemsSource).ToTable().Rows)
{
int i = 0;
DataRow drNew = displayTable.NewRow();
foreach (DataGridColumn selectedCol in dialog.SelectionTable.Columns)
{
drNew[(selectedCol.Header as ComboBox).SelectedIndex] = displayRow[i];
i++;
}
displayTable.Rows.Add(drNew.ItemArray);
}