首页 文章

将选定的行从数据网格视图传输到另一个数据网格视图

提问于
浏览
2

我的问题是将选定的行从数据网格视图传输到另一个数据网格视图 . 如果我使用主键并从数据库获取值到另一个数据库或将所选行的数据从datagridview1发送到datagridview2,我不知道该使用什么

1 回答

  • 2

    您可以创建一个新的 DataTable 并将所有选定的行插入 DataTable

    DataTable GetSelectedRows(DataGridView dgv)
    {
        var dt = new DataTable();
        foreach (DataGridViewColumn column in dgv.Columns)
        {
            if (column.Visible)
            {
                // You could potentially name the column based on the DGV column name (beware of dupes)
                // or assign a type based on the data type of the data bound to this DGV column.
                dt.Columns.Add();
            }
        }
    
        object[] cellValues = new object[dgv.Columns.Count];
        foreach (DataGridViewRow row in dgv.Rows)
        {
            if (!row.Selected) continue; // Add only Selected Rows
    
            for (int i = 0; i < row.Cells.Count; i++)
                cellValues[i] = row.Cells[i].Value;
    
            dt.Rows.Add(cellValues);
        }
    
        return dt;
    }
    

    您可以使用此方法将所有SelectedRows传递给新的DataGridView

    dataGridView2.DataSource = GetSelectedRows(dataGridView1)
    

相关问题