首页 > 解决方案 > 如何将列从一个数据网格复制到另一个

问题描述

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

所以 , 中的所有数据DataGrid Acolumns[1]将传递到Datagrid B, 中columns[2]

标签: c#wpfdatagrid

解决方案


因此,从 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);
    }

推荐阅读