如何将列从一个数据网格复制到另一个数据网格

时间:2018-04-24 20:28:52

标签: c# wpf datagrid

给定两个WPF数据网格,是否可以通过编程方式将数据从一个Datagrid列复制到另一个?

因此,DataGrid Acolumns[1]中的所有数据都会传递到Datagrid Bcolumns[2]

1 个答案:

答案 0 :(得分:2)

所以从DataGrid A(dialog.displayTable)复制到DataGrid B(只是displayTable)我是通过逐行迭代DataGrid A,然后逐列复制列数据到新行来完成的。然后将该行添加到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);
    }