如何从一个DataGridView中获取一行并将其复制到另一个?

时间:2019-10-30 06:46:21

标签: c# winforms datagridview

我正在使用winform进行一个项目,在该项目中,我让用户双击包含BookId BookName和Genre的数据网格视图的一行,并且应将其添加到另一个Dgv(如购物车)中。

private void DgvSearchResult_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
    DgvCart.Rows.Add(DgvSearchResult.SelectedRows.OfType<DataGridView>().ToArray());           
}

但是上面的代码复制了一个空行。

1 个答案:

答案 0 :(得分:0)

我使用了两个datagridviews,即origDgv,其中包含我要从中复制的数据,以及copyDgv,即我将数据复制至的datagridview。

这是DataGridView origDgv中的CellDoubleClick事件:-

    private void origDgv_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    {

        string[] rowData = new string[origDgv.Columns.Count];
        int iOffset = 0;

        foreach (DataGridViewCell dgvCell in origDgv.Rows[e.RowIndex].Cells)
        {
            if(dgvCell.EditedFormattedValue != null)
            {
                rowData[iOffset] = dgvCell.EditedFormattedValue.ToString();

            }
            iOffset++;
        }


        copyDgv.Rows.Add(rowData);
    }