将值从第一个datagridview传递到另一个datagridview

时间:2018-07-23 10:29:00

标签: c# datagridview selectedvalue

这是代码

DataTable Getselectedrows(DataGridView dgv)
    {
        var dt = new DataTable();

        dt.Columns.Add("Item Name");
        dt.Columns.Add("Price");

        foreach(DataGridViewColumn column in dgv.Columns)
        {
            if(column.Visible)
            {
                dt.Columns.Add();
            }
        }

        object[] cellval = new object[dgv.Columns.Count];
        foreach(DataGridViewRow row in dgv.Rows)
        {
            if (!row.Selected) continue;
            for (int i = 0; i < row.Cells.Count; i++)
                cellval[i] = row.Cells[i].Value;

            dt.Rows.Add(cellval);
        }
        return dt; 
    }

然后我在“添加”按钮中将其命名

        dataGridView3.DataSource = Getselectedrows(dataGridView2);  

这是结果,我只能在第二个datagridview的第一行的第一个datagridview中传递第一个选择的值,但是当我从第一个datagrid中选择另一个值并将其添加时,它只是更改了第二个datagrid中的第一行。帮助对象

enter image description here

1 个答案:

答案 0 :(得分:0)

您没有添加另一行,而是使用此代码dataGridView3.DataSource = Getselectedrows(dataGridView2);

替换了整个DataSource